Python:1s和0s的字符串 - >二进制文件

sev*_*dyk 4 python binary

我在Python中有一个1和0的字符串,我想将它写入二进制文件.找到一个很好的方法来解决这个问题我遇到了很多麻烦.

有没有一种标准的方法来做到这一点,我只是想念?

Lel*_*uge 8

如果你想要一个二进制文件,

>>> import struct
>>> myFile=open('binaryFoo','wb')
>>> myStr='10010101110010101'
>>> x=int(myStr,2)
>>> x
76693
>>> struct.pack('i',x)
'\x95+\x01\x00'
>>> myFile.write(struct.pack('i',x))
>>> myFile.close()
>>> quit()
Run Code Online (Sandbox Code Playgroud)
$ cat binaryFoo
?+$
Run Code Online (Sandbox Code Playgroud)

这是你想要的?


lio*_*ori 3

In [1]: int('10011001',2)
Out[1]: 153
Run Code Online (Sandbox Code Playgroud)

将输入拆分为八位,然后应用int(_, 2)chr,然后连接成一个字符串并将该字符串写入文件。

就像是...:

your_file.write(''.join(chr(int(your_input[8*k:8*k+8], 2)) for k in xrange(len(your_input)/8)))
Run Code Online (Sandbox Code Playgroud)