文件长久保存信息的一种数据信息集合常用操作 打开关闭(文件一旦打开,需要关闭操作)读写内容查找open函数open函数负责打开文件,带有许多参数第一个参数:必须有,文件的路径和名称mode:表明文件用什么方式打开 r:以只读方式打开w:写方式打开,会覆盖以前内容x:创建方式打开,如果文件以存在,报错a:append方式,以追加的方式对文件内容进行写入b:binary方式,二进制方式写入t:文本方式打开+:可读写#打开文件,用写的方式 #r表示后面字符串内容不需要转义 #f称之为文件句柄 f = open(r’test01.txt’,‘w’) #文件打开后必须关闭 f.close() #此案例说明,以写方式打开文件,默认是如果没有文件,则创建
seek(offset, from)移动文件的读取位置,也叫读取指针from的取值范围:0:从文件开始偏移1:从文件当前位置开始偏移2:从文件末尾开始偏移移动的单位是字节(byte)一个汉字由若干字节构成返回文件只针对当前位置
文件写的操作-writewrite(str):把字符串写入文件writeline(str):把字符串按行写入文件区别: write函数参数只能是字符串writeline参数只是字符串,也可以字符串序列#向文件追加一句话 with open(r’test01.txt’, ‘a’) as f: #注意字符串内含有换行符 f.write("生活不仅是眼前的苟且,\n还有远方的苟且)持久化 - pickle序列化(持久化,落地):把程序的信息保存到磁盘上反序列化:序列号的逆过程pickle:python提供的序列化模块pickle.dump:序列化pickle.load:反序列化,从磁盘中读出
shelve特性不支持多个应用并行写入 为了解决这个问题,open的时候可以使用flag=r写回问题 shelve一般情况下不会等待持久化对象进行任何修改解决方案:强制写回:writeback=True#shelve 使用with管理上下文环境 with shelve.open(r’shv.db’, writeback = True) as ahv: k1 = shv[‘one’] print(k1) k1 [“eins”] = 1000 with shelve.open(r’shv.db’) as shv: print(shv[‘one’])