2012-08-26 214 views
-1

可能重复:
How to write individual bits to a text file in python?Python的读取和写入二进制

我一直在寻找,试图找到一种方式来简单地读取和写入文件位/。我发现的大多数东西都只是演示了如何将字符转换为二进制。如:

>>> byte = 'a' 
    >>> byte = ord(byte) 
    >>> byte = bin(byte) 
    >>> print byte 
    '0b1100001' 

这不是我想要的。我正在操纵文件中的实际二进制文件。我不想使用额外的模块,只是标准的Python 2.7。任何帮助,将不胜感激。

+0

是啊,我看到这一点,它看起来类似,但即时寻找也许更简单的解释和更清晰的答案。 – user1388345

回答

0

打开文件的二进制模式,使用'r+b'

>>> f=open('data.txt','wb') 
>>> f.write('abcd') 
>>> f.close() 
>>> f=open('data.txt','rb') 
>>> [bin(ord(x)) for x in f.read(4)]  #read(4) to read 4 bytes 
['0b1100001', '0b1100010', '0b1100011', '0b1100100'] 
>>> 
+1

不确定关于python 2.7,但是在python 3.x中,你可以执行'f.write(b'1100001')' –

相关问题