Head First Python学习笔记:持久存储,文件操作

   使用 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)

你可能感兴趣的:(Head First Python学习笔记:持久存储,文件操作)