版权声明:转载注明出处 https://blog.csdn.net/qq_19428987/article/details/87201369
文件
长久保存信息的一种数据集合,常用操作:
1、打开,关闭文件;
2、读写
3、查找
Open函数
负责打开一个文件,带有很多参数
open(),第一参数必须有,文件的路径和名称
mode:表明文件的打开方式
-r:只读
-w:写方式打开,会覆盖以前的内容
-x: 创建的方式打开,如果文件存在会报错
-a:append,以追加的方式对文件的内容进行写入
- b:binary,二进制方式写入
- t:文本方式打开
- + :可读书
详细参考
with语句:上下文管理协议,自动判断文件作用域,自动关闭不在使用的打开的文件句柄。
with open(r"E:\Flies\HelloWorld.txt",'r') as f:
strline=f.readline()
while strline:
print(strline)
strline=f.readline()
>>>Hello World!
.................
read(count):允许输入参数读取几个字符,如果没有制定,从当前位置读取到结尾。否则从当前位置读取制定字符数
with open(r"E:\Flies\HelloWorld.txt",'r') as f:
strChar=f.read(2)
print(len(strChar))
print(strChar)
>>>2
He
seek(offset,from)
移动文件的读取位置,也叫读取指针
- from:0从文件头开始便宜,1从文件当前位置开始偏移,2从文件末尾开始偏移
- 移动字节的单位是byte
//打开文件后从第五个字符开始读取
with open(r"E:\Flies\HelloWorld.txt",'r') as f:
f.seek(6,0)
strChar=f.read()
print(len(strChar))
print(strChar)
>>>24
World!
.................
tell函数
用来显示文件读写指针的当前位置
文件的写操作
- write(str):把字符写入文件(参数只能是字符串)
- writelines(str):把字符串按行写入文件(参数可以是字符串,也可以是字符序列)
with open(r"E:\Flies\HelloWorld.txt",'a') as f:
f.write("\nPython file learning!\n")
f.writelines("..........")
持久化- pickle
pickle:Python提供的序列化模块,可保存结构化的数据信息
- pickle.dump:序列化
- pickle.load:反序列化
import pickle
with open(r"E:\Flies\HelloWorld.txt",'rb') as f:
age=pickle.load(f)
print(age)
持久化 - shelve
持久化工具,类似字典
open,close成对出现
但是不支持多应用并行写入