【问题标题】:Save binary string in python在python中保存二进制字符串
【发布时间】:2016-11-01 19:45:10
【问题描述】:

我有一个这样的字符串:

"10001110...1010"

我想把它保存在一个二进制格式的文件中,而不是像字符串一样,以占用更少的空间。

我的解决方案: 将'1'添加到字符串的开头并更改为整数,如下所示:

a = '0001'
a = '1' + '0001'
b = int(a,2)

之后,我使用module pickle 将其保存在文件中:

import pickle
file = open('test.txt','wb')
pickle.dump(b,outf)
file.close()

我的问题是是否有更快的解决方案?

【问题讨论】:

  • 问题是什么?
  • 抱歉,我编辑了帖子。
  • 保存文件并以gz格式压缩以节省空间,然后在读取时使用gzip模块
  • 我正在实现霍夫曼压缩,如果我用 gzip 压缩压缩文件它不起作用。

标签: python performance optimization binary save


【解决方案1】:

更快的解决方案是忘记在字符串的开头添加“1”(您想要“0b”吗?)并简单地使用 一个='0001' b = int(a,2)

【讨论】:

  • 如果a我不加'1'直接传给int,'0001'变成1,丢掉前3个0。
猜你喜欢
  • 1970-01-01
  • 2015-03-22
  • 2013-10-24
  • 2021-11-09
  • 2015-11-21
  • 1970-01-01
  • 2011-08-13
  • 1970-01-01
  • 2015-07-02
相关资源
最近更新 更多