读和写文件
open() 可能返回一个 file 对象
open(filename, mode)
不一样方式开启文件的彻底目录:https://www.runoob.com/python3/python3-inputoutput.html
简单的代码
1 f=open("exp.txt",'w')
2 f.write("hhhhhh")
3 f.close()
4 f=open("exp.txt",'w')
5 f.write('fugaighhhhhh')
6 f.close()
7 f=open("exp.txt",'a')
8 f.write('\nzhuijiahhhh')
9 f.close()
文件对象的方式
- f.read()
为了更好地读取一个文件的內容,启用 f.read(size), 这将读取一定数量的数据信息, 随后做为字符串数组或字节数对象返回。size 是一个可选择的数据种类的主要参数。 当 size 被忽略了或是为负, 那麼该文件的全部內容都将被读取而且返回 。
- f.readline()
f.readline() 会从文件中读取独立的一行。换行符为 '\n'。f.readline() 假如返回一个空字符串, 表明早已早已读取到最终一行 。
- f.readlines()
f.readlines() 将返回该文件中包括的全部行。假如设定可选主要参数 sizehint, 则读取特定长短的字节数, 而且将这种字节数按行切分。
- f.write()
f.write(string) 将 string 载入到文件中, 随后返回载入的字符数 。
假如要载入一些并不是字符串数组的物品, 那麼将必须先开展变换。
# 开启一个文件 f = open("/tmp/foo1.txt", "w") value = ('www.runoob.com', 14) s = str(value) f.write(s) # 关掉开启的文件 f.close()
- f.tell()
f.tell() 返回文件对象当今所在的部位, 它是以文件开始刚开始起算的字节。
- f.seek()
假如要更改文件当今的部位, 能够应用 f.seek(offset, from_what) 涵数 。from_what 的值, 如果是 0 表明开始, 如果是 1 表明所在位置, 2 表明文件的末尾 ,比如:
-
- seek(x,0) : 从起止部位即文件首行首标识符刚开始挪动 x 字符
- seek(x,1) : 表明从所在位置往后面挪动x字符
- seek(-x,2):表明从文件的末尾向前挪动x字符
- f.close()
如果你解决完一个文件后, 启用 f.close() 来关掉文件并释放出来系统软件的資源,假如试着再启用该文件,则会抛出异常。
当解决一个文件对象时, 应用 with 关键词是很好的方法。在完毕后, 它会帮你恰当的关掉文件 。 并且写起來也比 try - finally 句子块要简洁明了 。
>>> with open('/tmp/foo.txt', 'r') as f: ... read_data = f.read() >>> f.closed True
pickle控制模块
python的pickle控制模块完成了基础的数据信息编码序列和反序列化。根据pickle控制模块的实例化实际操作大家可以将程序流程中运作的对象信息内容储存到文件中去 ,永久性储存。根据pickle控制模块的反序列化实际操作,大家可以从文件中建立上一次程序流程储存的对象 。
基础插口:
pickle.dump(obj, file, [,protocol])
对 file 以读取的方式开启
x = pickle.load(file)
1 import pickle 2 3 # 应用pickle控制模块将数据信息对象储存到文件 4 data1 = {'a': [1, 2.0, 3, 4 6j], 5 'b': ('string', u'Unicode string'), 6 'c': None} 7 8 selfref_list = [1, 2, 3] 9 selfref_list.append(selfref_list) 10 11 output = open('data.pkl', 'wb') 12 13 # Pickle dictionary using protocol 0. 14 pickle.dump(data1, output) 15 16 # Pickle the list using the highest protocol available. 17 pickle.dump(selfref_list, output, -1) 18 19 output.close()
1 import pprint, pickle 2 3 #应用pickle控制模块从文件中重新构建python对象 4 pkl_file = open('data.pkl', 'rb') 5 6 data1 = pickle.load(pkl_file) 7 pprint.pprint(data1) 8 9 data2 = pickle.load(pkl_file) 10 pprint.pprint(data2) 11 12 pkl_file.close()
有关file对象的详尽方式和主要参数
https://www.runoob.com/python3/python3-file-methods.html
python3 文件/文件目录方式
https://www.runoob.com/python3/python3-os-file-methods.html