open函数负责打开文件,里面的第一个参数必须要有:文件的路径和名称。第二个参数是操作方法:
r:以只读方式打开
w:写方式打开,会覆盖以前的内容
x:创建方式打开,如果文件已经存在,报错
a:append方式,以追加的方式对文件内容进行写入
b:binary方式,以二进制方式写入
t:文本方式打开
f = open(r"text.txt", "w") #写的方式打开
f.close() #打开后必须得关闭
这里以写的方式打开,但是我们没有写入东西进去,用这个方式创建文件后,一定要把它close掉。
我们推荐使用with语句,因为它会自动关闭文件,不需要我们手动关闭,所以很方便:
我们先在自己的文件夹里面创建一个txt文档,写上:
假若他日相逢
我将何以贺你
以沉默
以眼泪
接着以文件读取的方式进行操作:
with open("text.txt", "r") as f:
strline = f.readline() #readline是按行读取内容
while strline: #只要strline里面的内容不为空,就一直读取
print(strline) #打印strline里面的内容
strline = f.readline() #没有后返回一个空。跳出循环
一行一行的读取,读取完毕后跳出循环。
import time
with open(r"text.txt", "r") as f:
strChar = f.read(3) #三个字符串一组读取内容,然后显示在屏幕上,每读一次,休息一秒钟
while strChar:
print(strChar)
time.sleep(1)
strChar = f.read(3)
这也是一个景点的案例,每三个字符串一组,三个字三个字的读取文档里面的内容。
关于文件的写操作---write
write(str):把字符串写入文件,只能是字符串
writelines(str):把字符串按行写入写入文件,可以是字符串,可以是字符序列,列表
with open(r"text.txt", "a") as f: #以追加的方式写入
f.write("生活不仅眼前的苟且\n还有诗和远方的田野")
with open(r"text.txt", "a") as f:
f.writelines("生活不仅眼前的苟且")
f.writelines("还有远方的苟且")
这里就是一行行的写入-------------------------------------------
序列化:pickle案列 pickle.dump:序列化。pickle.load反序列化
pickle.dump:把运行的东西存入磁盘
pickle.load:把磁盘的东西读取出来
import pickle
age = 19
with open(r"text01.txt", "wb") as f: #wb写入二进制文件,就是把19转换成二进制写入
pickle.dump(age,f)
import pickle
age = 19
with open(r"text01.txt", "rb") as f: #rb读取二进制文件
age = pickle.load(f)
print(age)