7.11 day8
1. r 只读
f = open('santa', mode='r', encoding='utf-8')
# santa是相对路径,同⼀个⽂件夹下的⽂件. 相对于当前这个程序所在的⽂件夹⽽⾔. 如果在同⼀个⽂件夹中. 则相对路径就是这个⽂件名. 如果在上⼀层⽂件夹.
# 则要../ f句柄 'santa'文件名 mode='r'打开类型 'r'只读, encoding解码类型
s = f.read()
f.close()
print(s)
2. w 只写
# 如果没有⽂件. 则会创建⽂件, 如果⽂件存在. 则将原件中原来的内容删除, 再
# 写入新内容
f = open('Lost Canvas', mode='w', encoding='utf-8')
f.write('亚伦')
f.flush()
# 写入要刷新
f.close()
3. a 追加
在追加模式下. 我们写入的内容会追加在⽂件的结尾.
f = open('Lost Canvas', mode='a', encoding='utf-8')
f.write('天马')
f.flush()
f.close()
# 在Lost Canvas文件的最后加上天马
4. r+
读写模式.
需要移动光标进行反复读写
with open('Lost Canvas', mode='r+', encoding='utf-8') as f:
f.seek(0) # f.seek光标位置 read从光标处开始读
s = f.read()
f.write('萨沙')
print(s)
5. w+ 写读
先将所有的内容清空. 然后写入. 最后读取. 但是读取的内容是空的
6. a+ 追加读
a+模式下, 不论先读还是后读. 都是读取不到数据的.
7. b bytes 读写操作的是字节. 用在非文本上
8. seek() 移动光标到xx位置
开头: seek(0), 末尾: seek(0,2)
9. 文件修改
创建新文件. 把修改后的内容写入新文件. 删除老文件. 重命名新文件
import os
os.remove("")删除文件
os.rename("源文件", "新文件名") 重命名文件
import os
with open('santa', mode='r', encoding='utf-8') as f1,\
open('santa_new', mode='w', encoding='utf-8') as f2:
for line in f1:
new_line = line.replace('庐山升龙霸', '银河星爆')
f2.write(new_line)
os.remove('santa')
os.rename('santa_new', 'santa')
for line in f:
line 一行数据
with open("文件名") as f:
不需要关闭文件句柄