1、对文件的操作:
只读、只写、只追加、其他混合
2、读取文件操作:
(1)先将要读取的文件放在同一目录下
(2)打开文件操作
(3)读取文件操作
(4)打印文件内容操作
(5)关闭操作
注意:
(1)open的默认编码形式是gbk的,如果有中文需要写成“utf-8”
(2)文件没有修改操作,只有覆盖
f=open("111",encoding="utf-8")
data=f.read()
print(data)
f.close()
3、一行一行读取文件内容
f=open("111","r",encoding="utf-8")
print("第1行",f.readline(),end="")
print("第2行",f.readline())
#输出结果:
第1行 啦啦啦
第2行 11111
4、所用内容变成一行读取
f=open("111","r",encoding="utf-8")
print(f.readlines())
f.close()
#输出结果:
['啦啦啦\n', '11111\n', '22222\n', '33333']
5、文件的写模式
f=open("111","w",encoding="utf-8")
f.write("11111\n")
f.write("22222\n")
f.writelines(["555\n","666\n"])
f.close()
#查看111文件内容:
11111
22222
555
666
6、文件的追加模式(在文件尾部追加一行)
f=open("111","a",encoding="utf-8")
f.write("new_add")
f.close()
7、想修改文件,可以这样解决
(1)先读取文件
(2)写文件,取只保留的部分
(3)文件名不变,相当于重写覆盖
f1=open("111","r",encoding="utf-8")
content=f1.readlines()
f1.close()
f2=open("111","w",encoding="utf-8")
f2.write(content[3])
f2.close()
#结果:
只取111文件中的第四行内容
8、经常忘记用file.close()操作怎么办?
使用with open() as f 操作
with open("111.text","w") as f:
f.write()
注意:和上面一样,没有该文件会新建一个,有的话直接覆盖修改
9、b模式不能使用编码方式
10、字符串转换成二进制:
bytes(x,encoding=utf-8),也可以直接用x.encode(“utf-8”)
11、readlines()默认为一行显示,后面只有/n,其实在windows平台应该有/r/n,只是python默认将/r去掉了,如果在open里面加上newline=" ",则会打印出/r/n
12、flush()刷新文件
13、tell()查看光标位置
14、seek(a)移动到第a个字节的光标位置
15、truncate(a)截取文件a个字符,需要在有写模式下才可以执行
16、W+是清空原文件内容了,一般不用