Skip to main content
 首页 » 编程设计

python之如何在 Python 中写入/打包二进制字符串到文件

2025年05月04日45zhengyun_ustc

我想做一个简单的操作,但是我做不到。我有一串由编码算法导出的“0”和“1”。我想将它写入文件,但我认为我做错了。

我的字符串类似于'11101010000......10000101010'

实际上我正在写一个二进制文件:

print 'WRITE TO FILE ' 
with open('file.bin', 'wb') as f: 
    f.write(my_coded_string) 
 
print 'READ FROM FILE'  
with open('file.bin', 'rb') as f: 
    myArr = bytearray(f.read()) 
myArr = str(myArr) 

如果我查看文件的大小,就会发现文件很大。所以我想我正在使用整个字节来写入每个 1 和 0。对吗?

我找到了一些使用“struct”函数的例子,但我没能理解它是如何工作的。

谢谢!

请您参考如下方法:

因为输入的二进制是字符串,python 将每一位写入一个字符。 您可以使用 bitarray 编写您的比特流来自

的模块

像这样:

from bitarray import bitarray 
 
str = '110010111010001110' 
 
a = bitarray(str) 
with open('file.bin', 'wb') as f: 
    a.tofile(f) 
 
b = bitarray()     
with open('file.bin', 'rb') as f: 
    b.fromfile(f) 
 
print b