0
我有下面的腳本,將二進制文件保存爲HEX到一個變量,並將其轉換爲二進制文件,在Linux下一切正常,但在Windows下失敗,我不知道爲什麼:Python Windows寫入HEX到BIN到文件
import os, os.path
from ctypes import *
import sys, binascii
current_dir = r".\\"
startup = "4d5a90000300000004000000ffff0000b800000000000000400000000000000000000000000000000000000000000000000000000000000000" # snipped, too big to have it here
def DumpStartupFile():
startupbin=binascii.unhexlify(startup)
o=open(current_dir+"\\startup.exe","w")
o.write(startupbin)
if os.path.isfile(current_dir+"\\startup.exe"):
True
else:
DumpStartupFile()
任何想法爲什麼它在Windows下失敗?
哎呀,我認爲你是對的,在Linux下沒有不指定二進制模式失敗,我認爲這是問題,讓我看看。 – bsteo 2013-03-12 14:31:21
是的,你是對的!現在工作! – bsteo 2013-03-12 14:34:06
@xtmtrx:在Linux上,'\ n'是換行符的正確表示形式,因此它們不會在那裏轉換。 :-) – 2013-03-12 14:34:53