8. Python的输入输出
2018-03-27 本文已影响0人
edwin1993
文件
通过创建一个file类的对象来打开一个文件,分别使用file类的read、readline或write方法来恰当地读写文件。完成对文件的操作的时候,调用close方法来告诉Python我们完成了对文件的使用。
fileDetail = '''this is some santences
line 2
line 3
line 4
last line
'''
file1 = open('example.txt','w') # w(write),r(read),a(add)
file1.write(fileDetail)
file1.close()
file2 = open('example.txt') # 默认为‘r’
while True:
line = file2.readline()
if len(line) == 0:
break
print (line)
file2. close()
# 结果
this is some santences
line 2
line 3
line 4
last line
存储器
Python提供一个标准的模块,称为pickle。使用它你可以在一个文件中储存任何Python对象,之后你又可以把它完整无缺地取出来。这被称为持久地储存对象。
还有另一个模块称为cPickle,它的功能和pickle模块完全相同,只不过它是用C语言编写的,因此要快得多。在Python 3.X中移除了cPickle模块,统一为pickle。
import pickle
fruitList = ['apple', 'mango', 'carrot']
f = open('listItem','wb')# wb是以二进制
pickle.dump(fruitList, f) # dump the object to a file
f.close()
del (fruitList)#移除对象
f = open('listItem','rb')
storedList = pickle.load(f)
print(storedList)
# 结果
['apple', 'mango', 'carrot']
pickle.dump需要通过二进制写入,所以file的写方式与读方式是wb、rb