文件操作初识
文件操作的读
方法 |
作用 |
f.read() |
文件全部读取 |
f.read(n) |
读取文件前n个字符 |
f.readline() |
按行读取一行 |
f.readlines() |
返回一个列表,列表中的元素是源文件的每一行 |
for line in f: |
全部读出,但是在内存中只占一行的内存量,消耗少 |
- rb 读取非文本类型文件 (不能创建新文件)
- r+ 读并追加(不能创建新文件)
在光标的位置追加,顺序不能出错
文件操作的写
方法 |
作用 |
f.write() |
没有文件就创建文件写入,有同路径同名文件就清空后写入 |
文件操作的追加
- a,ab,a+,a+b
- a
| 方法 |作用 |
|-------------|--------------------------------------------|
|f.write() |没有文件就创建文件写入,有同路径同名文件就追加写入 |
文件操作的改
方法:
- 以读的模式打开原文件
- 以写的模式创建一个新文件
- 将原文件的内容读出来修改成新内容,写入新文件’
- 将原文件删除
- 将新文件重命名为原文件
import os
with open('aaa',encoding='utf-8') as f1,\
open('bbb',encoding='utf-8,mode='w') as f2:
old=f1.read()
news=old.replace('xa','xb')
f2.write(news)
os.remove('aaa')
os.rename('bbb')
#改良版
import os
with open('aaa',encoding='utf-8') as f1,\
open('bbb',encoding='utf-8,mode='w') as f2:
for line in f1:
news=line.replace('xa','xb')
f2.write(news)
os.remove('aaa')
os.rename('bbb')
文件操作的其他模式
方法 |
作用 |
f.tell() |
读取光标的位置,单位是字节 |
f.seek(n) |
调整光标的位置到n |
f.flush() |
强制刷新 |
f.readlines() |
返回一个列表,列表中的元素是源文件的每一行 |
for line in f: |
全部读出,但是在内存中只占一行的内存量,消耗少 |
with open("xxx",encoding='utf-8') as f1:
print(f1.read())
优点2:复数操作
with open("xxx",encoding='utf-8') as f1,\
open("ddd",encoding='utf-8',mode='w') as f2:
print(f1.read())