Python学习 —— 文件(持久化)

版权声明:转载注明出处 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成对出现
但是不支持多应用并行写入

猜你喜欢

转载自blog.csdn.net/qq_19428987/article/details/87201369