python3 文件
打开关闭文件
打开文件语法:文件句柄 = open(‘文件路径’,mode=‘模式’,encoding=‘编码’)
如果模式是是带‘b’的,可省略编码
关闭文件语法:文件句柄.close()
打开模式
#1. 打开文件的模式有(默认为文本模式):
r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】文件的指针将会放在文件的开头。
w,只写模式【不可读;不存在则创建;存在则清空内容】
a, 只追加写模式【不可读;不存在则创建;存在则只追加内容】文件指针将会放在文件的结尾。
#2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)
rb
wb
ab
注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
#3,‘+’模式(就是增加了一个功能)
r+, 读写【可读,可写】文件指针将会放在文件的开头。
w+,写读【可写,可读】如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被全部删除。如果该文件不存 在,创建新文件。
a+, 写读【可写,可读】文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
#4,以bytes类型操作的读写,写读,写读模式
r+b, 读写【可读,可写】
w+b,写读【可写,可读】
a+b, 写读【可写,可读】
常见操作
读
f.read()
f.read() #从指针(光标)位置读到文件结尾 f.read(3) #从指针(光标)位置读三个字符(‘a’和‘你’都是一个字符)
f.readline([size])
读取整行,包括 "\n" 字符。从光标开始到改行结束
f.readlines([sizeint])
读取所有行并返回列表,每一行为一个列表元素,包含'\n'。若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。一般不填。写
f.write(str)
从指针位置开始写入,覆盖写入,假如源文件为‘0123456789’,写入后为‘你好6789’。
一个中文三个字节,一个英文一个字节。将字符串写入文件,返回的是写入的字符长度。
f.writelines(sequence)
向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
截取
f.truncate([size])
从文件的首行首字符开始截断(无论光标在哪),截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。文件指针操作类
f.next()
返回文件下一行。
f.seek(offset[, whence])
设置文件当前位置
f.tell()
返回文件当前位置。其他
file.flush()
刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
file.fileno()
返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。
file.isatty()如果文件连接到一个终端设备返回 True,否则返回 False。
迭代器
f=open('text.txt',mode='r+',encoding='utf-8') for line in f: print(line)#逐行打印 f.close()
上一篇: 自助咖啡机优势有哪些?自助咖啡机怎么用?
下一篇: 浅谈VUE监听窗口变化事件的问题