使用 open()BIF打开磁盘文件,可以指定使用什么模式,一般默认为打开文件,所以不需要专门指定r模式。要打开一个文件用于写,需要指定为w模式,比如:
out=open("sketch.txt","w")
默认地,print()BIF显示数据时会使用标准输出(通常为屏幕),要把数据写至文件,需要采用file参数来指定所使用的数据文件对象。
完成工作后,一定要关闭文件,确保所有数据已写至文件,这种操作成为刷新输出。
使用w模式:如果该文件已存在,则会清空它现有的内容;如果文件不存在,则会先创建文件。
使用a模式:则是追加到文件。
使用w+模式:打开文件完成写和读(不清除)。
由于处理文件时try/except/finally比较常用,所以Python提供了一个语句来抽象出相关的一些细节,对文件使用with语句,可以减少编码量,有了它就不再需要finally组来处理文件的关闭。
try:
man_file=open('man_data.txt','w')
print(man,file=man_file)
except IOError as err:
print('file error:'+str(err))
finally:
if 'data'in locals()
data.close()
可以由以下替换:
try:
with open('man_data.txt','w') as man_file
print(man,file=man_file)
except IOError as err:
print('file error:'+str(err))
with语句采用了一种上下文管理协议(context management protocol)的python技术
strip()方法可以从字符串去除不想要的空白符
print() BIF的file参数控制将数据发送/保存到哪里
finally组总会执行,而不论try/except语句中出现什么异常
会向except组传入一个异常对象,并使用as关键字赋至一个标识符
str() BIF可以用来访问任何数据对象(支持串转换)的串表示
locals() BIF返回当前作用域中的变量集合
in操作符用于检查成员关系
“+”操作符用于字符串时将联接两个字符串,用于数字时则会将两个数相加
with语句会自动处理所有已打开文件的关闭工作,即使出现异常也不例外。with语句也使用as关键字
sys.stdout是Python中所谓的“标准输出”,可以从标准库的sys模块访问
标准库的pickle模块允许你容易而高效地将Python数据对象保存到磁盘以及从磁盘恢复。
pickle.dump()函数将数据保存到磁盘
pickle.load()函数从磁盘恢复数据
比如:
import pickle
with open('mydata.pickle','wb')as mysavedata:
pickle.dump([1,2,'three'],mysavedat)
with open('mydata.pickle','rb')as mysavedata:
a_list=pick.load(mysavedata)
print(a_list)