-1
獲取給定文件的底層二進制代碼(0和1)的最簡單方法是什麼?這個問題的上下文是,我需要一個Python函數,它需要一個文件名,查找它並收集該文件的二進制代碼,然後將其存儲到某處或返回。在此之後,我想對二進制文件進行一些操作。簡單的方法來查看和保存文件的二進制文件?
獲取給定文件的底層二進制代碼(0和1)的最簡單方法是什麼?這個問題的上下文是,我需要一個Python函數,它需要一個文件名,查找它並收集該文件的二進制代碼,然後將其存儲到某處或返回。在此之後,我想對二進制文件進行一些操作。簡單的方法來查看和保存文件的二進制文件?
文件的底層代碼可從文件對象的.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
方式修改:
給定文件沒有底層的0和1,這是一個混淆的想法。如果你想寫一個代表一位二進制數據的程序爲* 8位ASCII字符1和0 *,你當然可以做到。但它不是「*查看底層數據,因爲它真的是*」,它是「*計算一個可能的代表*」。如果你這樣做......「每個人」都在Hex中做這件事,因爲它是一個更直接,簡潔的映射。正如這裏所論述的:http://stackoverflow.com/questions/37103607/然後它是一個重複的例如http://stackoverflow.com/a/2894216/478656 – TessellatingHeckler