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是万国编码

 

 

 

 

转自

 

posted on 2021-03-30 10:24  学习ing....  阅读(74)  评论(0)    收藏  举报