1.读取文件
f=open(file="C:\BiZhi\新建文本文档.txt",mode="r",encoding="utf-8") data=f.read() print(data) f.close()
输出为·:txt文件中的内容
当把mode改为“rb”时,此时输出的文件是二进制模式的
当你无法判断出文件的编码时,可以引用chardet来识别文件的编码类型
import chardet f=open(file="C:\BiZhi\新建文本文档.txt",mode="r",encoding="utf-8") data=f.read() print(chardet.detect(data))
输出为:判断这个文件的编码类型的结果
一行一行读取文件的方法:
f=open(file="C:\BiZhi\新建文本文档.txt",mode="r",encoding="utf-8") for line in f: print(line)
2.写文件
f=open("兼职.txt","w") f.write("aaa") f.close()
此时同目录下就会有一个名为兼职的txt文件。##注意点,当我再次在这个文件里写内容时,之前的内容都会清空。
添加
f=open("兼职.txt","a")
f.write("\n1234555".encode("utf-8"))
f.close()
输出为在最后添加了1234555
也可以以wb形式去写内容,此时“小黄鸭”是bytes类型
f = open(file="test.txt", mode="wb") f.write('小黄芽'.encode('utf-8')) f.close()
3.混合模式:读写和写读
读写:先读到这个文件,然后可以在文件里进行修改
f=open("兼职.txt","r+")
data=f.read()
print(data) f.write("\n1234555")
f.close()
输出:兼职.txt文件中多了一行1234555
写读:写的内容将原文件的内容替换掉了,然后在进行读
f=open("兼职2.txt","w+")
f.write("\n1234555")
data=f.read()
print(data)
f.close()
输出:兼职2.txt中的内容消失,此时内容只有1234555
4.常用的文件处理方法
1)flush:将缓存内的内容强制刷新到硬盘上。
f=open("兼职2.txt","w+")
f.write("aaa")#此时aaa还在缓存中,并没有在硬盘内
f.flush()#此时aaa已经存在硬盘内
2)readline:只读一行(一直读文件,遇到/r或/n为止)
3)
f.tell:显示光标所在位 f.seek(n):光标跳转到n位 f.read:读文件 f.truncate(n)
从第头开始第n个字节往后开始截断,剩下前面的字节所组成的内容
####注:tell ,seek,truncate按照的是字节 read按照的是字符