第9章文件和输入输出
9.1文件对象
open(file_name ,access_mode=’r’ ,buffering=-1)
内建函数file()与open()相同
通用换行符支持UNS
read():读取字节到字符串
readline():读取文件一行
readlines():读取所有行作为字符串列表返回
write():字符串写入到文件
writelines():针对列表操作
文件内移动
seek():文件中移动文件指针到不同位置
offset:
文件迭代:
for eachline in f:
close():关闭文件
flush():把缓冲区数据写入文件
truncate(size):最多截取到size字节处,没有,就截取到文件位置
9.6命令行参数
sys.argv:参数列表
9.7文件系统
文件访问操作通过os模块实现
os.path模块中
basename():去掉目录路径,返回文件名
dirname():去掉文件名,返回目录路径
split():返回(dirname() ,basename())的元组
9.8文件执行
9.9永久存储模块
pickle和marshal将复杂对象转换为二进制数据集合,然后发送
称为:数据的序列化
pickle:可以处理递归对象
9.9.2DBM风格的模块
采用dbhash,dbm,anydbm选择对象,只能存储自复查un,不能对python对象进行序列化
9.9.3shelve模块
shelve:把书放在架子上
原理:使用anydbm寻找dbm模块,使用cPickle完成储存转换过程
pickle:会把python对象保存到文件(二进制)。
dump():接受文件句柄和数据对象作为参数,把数据保存到给定文件【序列化】
load():从文件中取出已经保存的对象【解析】
gzip,zlib:压缩
tempfile:生成临时文件