摘要: 6.4节 阅读全文
posted @ 2018-04-10 16:13 Avention 阅读(124) 评论(0) 推荐(0) 编辑
摘要: Python 标准库 marshal 也可以进行对象的序列化和反序列化,下面的代码进行了简单演示。 阅读全文
posted @ 2018-04-10 16:11 Avention 阅读(306) 评论(0) 推荐(0) 编辑
摘要: Python标准库shelve也提供了二进制文件操作的功能,可以像字典赋值一样来写入二进制文件,也可以像字典一样读取二进制文件,有点类似于NoSQL数据库MongoDB。 阅读全文
posted @ 2018-04-10 16:01 Avention 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 使用 struct 模块需要使用 pack() 方法吧对象按指定个数进行序列化,然后使用文件对象的write方法将序列化的结果写入二进制文件;读取时需要使用文件对象的read()方法读取二进制文件内容,然后再使用struct模块的unpack()方法反序列化得到原来的信息。 使用 struct 模块 阅读全文
posted @ 2018-04-10 15:59 Avention 阅读(1079) 评论(0) 推荐(1) 编辑
摘要: Python 标准库 pickle 提供的 dump() 方法 用于将数据进行序列化并写入文件(dump() 方法的protocol 参数为True 时可以实现压缩的效果),而load() 用于读取二进制文件内容并进行反序列化,还原为原来的信息。 1 使用 pickle模块写入二进制文件。 2 使用 阅读全文
posted @ 2018-04-10 14:37 Avention 阅读(3897) 评论(0) 推荐(0) 编辑
摘要: 数据库文件、图像文件、可执行文件、动态链接库文件、音频文件、视频文件、Office文档等均属于二进制文件。对于二进制文件,不能使用记事本或其他文本编辑软件直接进行正常读写,也不能通过Python的文件对象直接读取和理解二进制文件的内容。必须正确理解二进制文件的结构和序列化规则,然后设计正确的反序列化 阅读全文
posted @ 2018-04-10 11:18 Avention 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 1 向文本文件中写入内容 拓展知识:文件操作一般都要遵循“打开文件--读写文件--关闭文件”的标准套路,但是如果文件读写操作代码引发了异常,很难保证文件能够被正常关闭,使用上下文管理关键字with可以避免这个问题。关键字with可以自动管理资源,不论因为什么原因(哪怕是代码引发了异常)跳出with块 阅读全文
posted @ 2018-04-10 11:10 Avention 阅读(1422) 评论(0) 推荐(0) 编辑