Python 语法基础 IO

发布时间:2026/10/17 21:56:30
Python 语法基础 IO 文章目录一 打开和关闭基础with open二 文件属性三 读取1 read(n)2 readline(n)3 readlines()四 访问权限五 光标定位tell()seek()六 编码格式7 图片 视频 赋值8 os模块无序导入任何模块直接写就可以一 打开和关闭基础fopen(IOTest.txt)#默认路径在项目根路径下可以填完整路径来指定别的位置现在默认是只读模式别人可以再打开这个文件f.close()#打开后必须手动关闭否则会一直占用with open代码块执行完毕后会自动关闭文件无序调用closewithopen(IOTest.txt,r)asf:f.read()二 文件属性fopen(IOTest.txt)print(f.name)#名字 IOTest.txtprint(f.mode)#打开方式 r只读print(f.closed)#是否已经关闭 Falsef.close()三 读取1 read(n)n读取多少个字符不填或负值会全部读取fopen(IOTest.txt)print(f.read())#输出 firstLine01f.close()2 readline(n)一次只读一行下次调用读下一行没有下一行不会报错返回空字符串参数n如果不填读一整行如果填在当前行读固定长度注意每行不是从0开始而是从上行的n开始比如n2第一行读了2两个字符第二行会读第3 4个字符fopen(IOTest.txt)print(f.readline())#输出 firstLine01print(f.readline())#输出 firstLine02print(f.readline())#输出 firstLine03f.close()循环读取#while循环fopen(IOTest.txt)whileTrue:linef.readline()ifnotline:#空行不会影响判断breakprint(line)f.close()#for循环fopen(IOTest.txt)forlineinf:print(line)f.close()3 readlines()读取所有行返回列表fopen(IOTest.txt)txtf.readlines()print(txt)#[firstLine01\n, firstLine02\n, firstLine03]f.close()四 访问权限a是会影响执行效率尽量使用只读只写append不是allw模式打开文件会直接清空文件的内容即使没做任何操作写入fopen(IOTest.txt,w)#print(f.read())f.write(11)f.seek(0)#写完后光标位于文本结尾要先复位才能读取到内容print(f.read())f.close()五 光标定位tell()显示当前光标的位置并非索引fopen(IOTest.txt,r)print(文件指针当前的位置,f.tell())# 输出 文件指针当前的位置 1f.close()seek()参数1 索引参数2 以哪里为起点 0文件开始 1光标当前位置 2文件结尾 默认0使用参数2 必须使用 rb wb ab 模式打开 b是按字节打开使用参数1没有限制#文件内容12345fopen(IOTest.txt,rb)#按字节打开f.seek(1,0)#移动到开头往后数第一个位置f.seek(3)#移动到开头往后数第一个位置f.seek(1,1)#从当前位置往后移1print(f.read(1))#输出 b5f.seek(0)#移动到开头print(f.read(1))#输出 b1f.close()六 编码格式Python在windows的默认文件系统编码格式为gbk我们通常使用utf-8withopen(IOTest.txt,r,encodingutf-8)asf:print(f.read())7 图片 视频 赋值操作二进制文件要加 b两个img在同一个作用域withopen是 不会创建新的作用域这一点和c#不同img此处是全局变量withopen(图片.png,rb)assource:#打开图片imgsource.read()withopen(rC:\Users\DH009\Desktop\复制的图片.png,wb)astarget:#复制图片target.write(img)8 os模块py自带的模块可以操作文件夹需要导入 osimportos os.rename(IOTest.txt,IONewName.txt)#重命名os.remove(图片.png)#删除os.mkdir(MyNewDir)#创建文件夹os.rmdir(MyNewDir)#删除文件夹print(os.getcwd())# 获取当前目录 输出E:\PythonProject\PYLearprint(os.listdir())# 获取指定(默认为当前目录)目录子文件夹和文件列表 输出[.idea, .venv, IONewName.txt, py01.py, SingletonPy.py, TestPackage, __pycache__]print(os.listdir(../))# ../表示上级目录

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询