python--txt文件处理
1、打开文件的模式主要有,r、w、a、r+、w+、a+
file = open('test.txt',mode='w',encoding='utf-8') file.write('hello,world!') file.close() #由此txt文件内容为hello,world!
2、r+:可读可写,根据光标所在位置开始执行。先写的话,光标在第一个位置---覆盖写,后读的时候根据光标所在位置往后读;但不管读几个字符,读过后,光标在文末
建议:操作时,读和写分开比较好,编码时涉及到中文用utf-8
file = open('test.txt',mode='r+',encoding='utf-8') file.write('Monday!') content = file.read() #content = file.read(6),表示读取6个字符,但只要读过后,光标会在文末 file.close() #由此txt文件内容为:Monday!hello,world! print(content) #打印结果为:hello,world!
file = open('test.txt',mode='r+',encoding='utf-8') content = file.read() file.write('Monday!') file.close() #由此txt文件内容为:hello,world!Monday! print(content) #打印结果为:hello,world!
3、w+:可读可写。不管w还是w+,存在文件会清空重写,不存在文件会新建文件写;
因为会清空重写,所以不建议使用
file = open('test.txt',mode='w+',encoding='utf-8') file.write('哮天犬!') file.close() #由此txt文件内容为:哮天犬!
4、a:追加写。如果文件存在追加写,如果文件不存在,则新建文件写
file = open('test.txt',mode='a',encoding='utf-8') file.write('哮天犬!') file.close() #由此txt文件内容为:哮天犬!哮天犬!
5、读写多行操作
写多行
file = open('test.txt',mode='a',encoding='utf-8') file.writelines(['\n二哈!','\n土狗!']) #此处的\n为换行 file.close() 文件内容: 哮天犬! 二哈! 土狗!
读多行
file = open('test.txt',mode='r',encoding='utf-8') content = file.readlines() #读出的为列表 file.close() print(content) 控制台输出:['哮天犬!\n', '二哈!\n', '土狗!']
总结:a:建议使用时读写操作分离,即不建议使用w+、r+、a+
b:写的话,不建议使用w,建议使用a;读的话,使用r
c:使用中文时,编码要使用utf-8