我在Python中有一个1和0的字符串,我想将它写入二进制文件.找到一个很好的方法来解决这个问题我遇到了很多麻烦.
有没有一种标准的方法来做到这一点,我只是想念?
如果你想要一个二进制文件,
>>> 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)
这是你想要的?
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)
归档时间: |
|
查看次数: |
8227 次 |
最近记录: |