如何将字节对象转换为 python 3 中的元组列表?
Posted
技术标签:
【中文标题】如何将字节对象转换为 python 3 中的元组列表?【英文标题】:How to convert a byte object to a list of tuples in python 3? 【发布时间】:2017-05-13 09:51:34 【问题描述】:我有一个元组列表 [(x,y,z),...,],我想将此元组列表存储在一个文件中。为此,我选择了一个 .txt 文件。我以“wb”模式写入文件,然后关闭它。稍后,我想以“rb”模式打开文件并将这个字节对象转换回元组列表。如果没有正则表达式废话,我将如何解决这个问题?是否有一种文件类型可以让我存储这些数据并轻松读取我忽略的数据?
【问题讨论】:
使用pickle
:没有文本文件,没有解析,没有正则表达式,只有pickle.dump
和pickle.load
。
【参考方案1】:
.txt
扩展名通常不用于二进制数据,如您所愿。
由于您的数据结构在字节级别上是未知的,因此并不是那么简单。 如果您确实知道您的数据(类型和长度),您可以使用 https://docs.python.org/3.4/library/struct.html 将其“编码”为二进制结构并将其写入(二进制)文件。
否则,对于向文件写入(结构化)数据和从文件读取数据的问题,有很多解决方案(这就是为什么有这么多文件格式的原因):
标准库:
https://docs.python.org/3/library/fileformats.html https://docs.python.org/3/library/persistence.html https://docs.python.org/3/library/xml.html https://docs.python.org/3/library/json.html第三者:
https://pypi.python.org/pypi/PyYAML和https://pypi.python.org/上的其他模块
*** 上的相关问答:
How to save data with Python?【讨论】:
以上是关于如何将字节对象转换为 python 3 中的元组列表?的主要内容,如果未能解决你的问题,请参考以下文章