- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.4 二进制文件操作 数据库文件、图像文件、可执行文件、音频视频文件等等均属于二进制文件。 对于二进制文件,不能使用记事本或其他文本编辑软件进行正常读写。 7.4.1 使用struct模块 例:使用struct模块写入二进制文件: import struct n=1300000000 x=96.45 b=True s=a1@中国 sn=struct.pack(if?, n, x, b) #把整数n、浮点数x、布尔对象b依次转换为字节串 f=open(sample_struct.dat, wb) f.write(sn) #写入字节串 f.write(s) #字符串可直接写入 f.close( ) 7.4.1 使用struct模块 例:使用struct模块读取二进制文件。 import struct f=open(sample_struct.dat, rb) sn=f.read(9) tu=struct.unpack(if?, sn) #从字节串sn中还原出1个整数、1个浮点数和1个布尔值,并返回元组 print(tu) n=tu[0] x=tu[1] bl=tu[2] print n=, n print x=, x print bl=, bl s=f.read(9) f.close() print s=, s 7.4.2 使用pickle模块 写入文件: import pickle f=open(sample_pickle..dat, wb) n=7 ia=99.056 s=中国人民123abc lst=[[1, 2, 3], [4, 5, 6], [7, 8, 9]] tu=(-5, 10, 8) coll={4, 5, 6} dic={a:apple, b:banana, g:grape, o:orange} try: pickle.dump(n, f) #表示后面将要写入的数据个数 pickle.dump(i, f) #把整数i转换为字节串,并写入文件 pickle.dump(a, f) pickle.dump(s, f) pickle.dump(lst, f) pickle.dump(tu, f) pickle.dump(coll, f) pickle.dump(dic, f) except: print 写文件异常! #如果写文件异常则跳到此处执行 f.close( ) 7.4.2 使用pickle模块 读取二进制文件: import pickle f=open(sample_pickle.dat, rb) n = pickle.load(f) #读出文件的数据个数 i=0 while in: x = pickle.load(f) print x i=i+1 f.close( ) 对象序列化 ObjectSequencing.py 7.5 文件操作 os模块常用的文件处理函数 函数 使用说明 access(path) 按照mode指定的权限访问文件 open(filename,flag[mode=0777]) 按照mode指定的权限打开文件,默认权限为可读、可写、可执行 chmode() 改变文件的访问权限 remove(path) 删除指定的文件 rename(src,dst) 重命名文件或目录 stat(path) 返回文件的所有属性 fstat(path) 返回打开的文件的所有属性 listdir(path) 返回path目录下的文件和目录 getcwd() 返回当前路径 7.5 文件操作 os.path模块常用的文件处理函数 函数名称 使用说明 abspath(path) 返回绝对路径 dirname(p) 返回目录的路径 exists(path) 判断文件是否存在 getatime(filename) 返回文件的最后访问时间 getctime(filename) 返回文件的创建时间 getmtile(filename) 返回文件的最后修改时间 getsize(filename) 返回文件的大小 isabs(path)、isdir(path)、isfile(path) 判断path是否为绝对路径、目录、文件 split(path) 对路径进行分割,以列表形式返回 splitext(path) 从路径中分割文件的扩展名 splitdrive(path) 从路径中分割驱动器的名称 walk(top,func,arg) 遍历目录 7.5 文件操作 import os import os.path os.path.exists(test1.txt) False os.ren
文档评论(0)