Python文件操作
2019-06-01 本文已影响0人
Recalcitrant
Python文件操作
一、文件存储方式
在计算机中,文件是以 二进制 的方式保存在磁盘上的。
- 文本文件
文本文件在存储时本质上也是二进制文件,但可以用文本编辑器查看。
例如:Python的源程序 - 二进制文件
二进制文件保存的内容不是给人直接阅读的,而是提供给其他软件使用的。二进制文件不能使用文本编辑软件查看。
例如:图片文件、音频文件、视频文件等等
二、文件打开
# 函数原型
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
# 方法1
f = open("文件名", '打开方式', encoding='编码码型')
# 方法2
with open("文件名", '打开方式', encoding='编码码型') as f:
操作语句块
f.close()
文件打开方式
打开方式 | 说明 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式。如果文件不存在,则抛出异常。 |
w | 以只写方式打开文件。如果该文件已存在,则该文件会被覆盖。如果文件不存在,则创建新文件进行写入。 |
a | 以追加方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入。 |
r+ | 以读写方式打开文件。文件的指针将会放在文件的开头。如果文件不存在,则抛出异常。 |
w+ | 以读写方式打开文件。如果该文件已存在,则该文件会被覆盖。如果文件不存在,则创建新文件进行写入。 |
a+ | 以读写方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入。 |
三、文件写入
f.write(字符串)
四、文件读取
f.read()
f.read(size)
f.readline()
f.readlines()
read([size])方法:该方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它的返回值为字符串对象。
readline()方法:该方法每次读出一行内容。读取时占用内存小,比较适合大文件,该方法返回一个字符串对象。
readlines()方法:该方法读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素。读取大文件会比较占内存,所以不适合读大文件。
五、文件指针
1.f.tell()
# 返回文件读取指针的位置
f.tell()
2.f.seek()
#操作文件指针移动
f.seek(offset,whence=0)
offset:开始的偏移量,即需要移动偏移的字节数。
whence:0:文件的开头 1:当前指针所在位置 2:文件的末尾