文件的读取
对文件的使用分为三步:打开--操作--关闭
打开 f=open(‘文件所在根目录’)
操作
关闭 f.close()
- 文件读取模式的选择
r 只能读,不能写,当读取的文件不存在时,会产生报错
r+ 可以执行读写操作,当文件不存在时,会产生报错,默认情况下,会从文件指针所在位置开始写入
w 不能读,只能写,当文件不存在时,不会产生报错,并生成文件,对已有文件进行操作时,会清空文件内容
w+ 可以执行读写操作,当文件不存在时,不会产生报错,生成文件,对已有文件进行操作时,会清空文件内容
a 不能读,只能写,当文件不存在时,不会产生报错,生成文件,对已有文件进行操作时,不会清空文件内容
a+ 可以执行读写操作,文件不存在时,不会产生报错,生成文件,对已有文件进行操作时,不会清空文件内容 - 文件操作
f.read()默认情况下读取文件的所有内容,小的文件直接用read读取即可,当遇到一个大文件时(文件大小>内存大小),不能通过read一次性读取所有内容
f.readline()每次读取一行内容
f.readlines()读取文件的所有内容,返回一个列表,列表元素为文件行内容 -
对非纯文本文件的读取
非文本文件,如图片文件,音乐文件或是视频文件等等,需要通过二进制的方式读写
如在对文本文件进行操作时,有r:r+:w:w+:a:a+(rt:rt+:wt:wt+:at:at+),对二进制文件操作时,则有rb:rb+:wb:wb+:ab:ab+
文件的常用属性
buffer缓冲区对象
print(f.closed())判断文件对象是否关闭
print(f.fileno())文件对象文件号
print(f.name)文件对象
print(f)查看文件对象的相关信息
关于指针位置的操作
print(f.tell()) 显示指针的偏移量
f.seek(0, 0) 将文件指针移动到文件最开始
f.seek(0,2) 将指针移动到文件最后
对于 f.seek(offset[,whence])offset 表示移动多少字节, whence 为 1 的时候表
示相对于当前位置移动的;当 2 的时候从文件的末尾往后移动,但不一定所有
的平台都支持;默认为 0 表示从文件开头往后移动