第一次Python應用程序,所以當然它並不容易;)用簡單的英語,這是我想要做的事:與Python 3,十六進制和添加輔助
read a binary file in, if any bytes are 0x00 change them to 0xFF, otherwise add 0x01 to each byte and write to a new file.
所以它就在那裏..my的希望是像
./convert.py file1.bin file2.bin
這是我到目前爲止有:
#!/usr/bin/env python3
import sys
with open(sys.argv[1], "rb") as f:
byte = f.read(1)
while byte:
# Do stuff with byte.
if byte = b'\x00'
byte = b'\xFF'
else
byte = byte + b'\x01'
byte = f.read(1)
但是這就是我至今...顯然這爲v破碎了。我認爲這將是一個很好的學習機會......感謝您能夠給予的任何幫助。
恰好爲0xFF什麼,因爲加0×01到需要它的字節值的範圍呢?你的意思是「如果有任何字節是0xFF將它們改爲0x00 ...」,這會更有意義嗎? –
感謝您的快速響應,但沒有...我真的想要0x00更改爲0xFF。現在,我得到一個錯誤與此設置: 文件「./convert.py」,第14行 如果字節= B‘\ XFF’ ^ 語法錯誤:無效的語法 – DigiAngel
關閉我的頭頂,你需要打開一個文件寫入,可能用'open(sys.argv [2],「wb」)',將字節連接在一起連接它們,而不是自己添加字節。 – mwchase