2016-07-04 59 views
-1

獲取給定文件的底層二進制代碼(0和1)的最簡單方法是什麼?這個問題的上下文是,我需要一個Python函數,它需要一個文件名,查找它並收集該文件的二進制代碼,然後將其存儲到某處或返回。在此之後,我想對二進制文件進行一些操作。簡單的方法來查看和保存文件的二進制文件?

+1

給定文件沒有底層的0和1,這是一個混淆的想法。如果你想寫一個代表一位二進制數據的程序爲* 8位ASCII字符1和0 *,你當然可以做到。但它不是「*查看底層數據,因爲它真的是*」,它是「*計算一個可能的代表*」。如果你這樣做......「每個人」都在Hex中做這件事,因爲它是一個更直接,簡潔的映射。正如這裏所論述的:http://stackoverflow.com/questions/37103607/然後它是一個重複的例如http://stackoverflow.com/a/2894216/478656 – TessellatingHeckler

回答

1

文件的底層代碼可從文件對象的.read()方法獲得。

with open("input_file.bin", "rb") as input_file: 
    bits = input_file.read() 

如果你想在閱讀這些條款後輕鬆地操縱位,則可能需要將其轉換爲一個bitarray

from bitarray import bitarray 
with open("input_file.bin", "rb") as input_file: 
    chars = input_file.read() 

bits = bitarray() 
bits.frombytes(chars) 
print bits.count(1), bits.count(0) 

引用當您打開該文件使用b方式修改:

相關問題