python文件处理
一、打开文件:
语法:file_obj=open(filename,mode)
open()函数返回一个文件对象,其中filename是文件名,如果该文件不存在就创建一个文件,mode表示文件的打开方式。
常见mode值:
模式 | 描述 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
二、文件的读取
1. f.read([size])返回一个字符串,size可选项可以返回指定长度的字符串,不指定大小默认读取整个文件,这里设置大小后是作为迭代器。
2. f.readline()返回一个字符串,读取文章中的一行。
3. f.readlines()返回一个每行字符串作为元素的列表。
三、文件写入
f.write(str)——写入一个字符串,返回写入的字符数。
f.writelines(seq)——向文件写入一个序列,如要换行,需要自己写入'\n'。
四、关闭文件
f.close()——关闭文件,释放内存,关闭后再调用会抛出异常。
五、其他
f.tell()返回文件对象的位置,位置从开头算起到现在位置的字节数。
f.seek()移动文件的位置:
1. seek(x,0)——从文件首字符位置移动x个字符。
2. seek(x,1)——从文件现在的位置移动x个字符。
3.seek(x,2)——从文件结尾处移动x个字符。
注意:x可以为负数,例如seek(-3,2)就是倒数第三个字符
f.flush()——刷新文件的缓冲区,将缓冲区数据写入文件,同时清空缓冲区。
f.fileno()——返回文件描述符。
f.isatty()——检测是否连接到终端设备。
f.truncate([size])——截断文件,未填写size表示从当前位置到文件结尾截断成一个文件,如果设置了size就从设置的字符位置到结尾截断为一个文件。