python之文件操作
| 文件打开模式 | 描述 |
|---|---|
| r | 以只读模式打开文件,并将文件指针指向文件头;如果文件不存在会报错 |
| w | 以只写模式打开文件,并将文件指针指向文件头;如果文件存在则将其内容清空,如果文件不存在则创建 |
| a | 以只追加可写模式打开文件,并将文件指针指向文件尾部;如果文件不存在则创建 |
| r+ | 在r的基础上增加了可写功能 |
| w+ | 在w的基础上增加了可读功能 |
| a+ | 在a的基础上增加了可读功能 |
| b | 读写二进制文件(默认是t,表示文本),需要与上面几种模式搭配使用,如ab,wb, ab, ab+(POSIX系统,包括Linux都会忽略该字符) |
1.r+和a+的区别:
with open('pi1.txt','w+', encoding='utf-8') as f:
f.write('---test---')
with open('pi1.txt','r+', encoding='utf-8') as f1:
f1.write('456')
with open('pi1.txt','a+', encoding='utf-8') as f2:
f2.write('789')
输出结果:
456test---789
说明r+进行了覆盖写
2.a:附加写方式打开,不可读;a+: 附加读写方式打开(文件里有内容,却读出空字符)
with open('p2.txt','a+',encoding='utf-8') as f:
f.write('123')
#f.seek(0)
print(f.read())
运行结果:空
把f.seek(0),光标移动到开头,就可以读取出来
3.打开多个文件
with open('pi.txt','r',encoding='utf-8') as f,\
open('p5.txt','w',encoding='utf-8') as f1:
for line in f:
if '当我年轻时' in line:
line = line.replace('当我年轻时','当我老的时候')
f1.write(line)
(二)字符编码
python2 默认是ASCII编码,python3默认是Unicode编码
Unicode是万国编码

转自
浙公网安备 33010602011771号