gpt4 book ai didi

python - 将复数列表写入为二进制数据

转载 作者:行者123 更新时间:2023-11-30 23:53:03 24 4
gpt4 key购买 nike

我正在尝试将一些数据从 python 脚本输出到二进制文件。

如果我有一个我一直在使用的 float 列表

out_file = open("filename", "wb")
float_array.array("f", [])
float_array.fromlist(mylist)
float_array.tofile(out_file)
out_file.close()

这似乎工作正常,至少生成了具有正确字节数的文件。

除了使用复数列表之外,我怎样才能做同样的事情?

谢谢

最佳答案

当 Python 提供了这么多现成的好序列化方法时,不要发明自己的序列化方法!我建议你使用 pickle - 它也适用于复数 (*):

>>> import pickle
>>> s = pickle.dumps([1+2j, 5-1j])
>>> pickle.loads(s)
[(1+2j), (5-1j)]

我在这里使用dumps进行演示,您也可以使用dump写入二进制文件。

<小时/>

(*) 来自 pickle 文档:

The following types can be pickled:

  • None, True, and False
  • integers, long integers, floating point numbers, complex numbers
  • normal and Unicode strings
  • tuples, lists, sets, and dictionaries containing only picklable objects
  • functions defined at the top level of a module
  • built-in functions defined at the top level of a module
  • classes that are defined at the top level of a module
  • instances of such classes whose __dict__ or __setstate__() is picklable (see section The pickle * protocol for details)

关于python - 将复数列表写入为二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6029057/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com