파이썬에서 바이너리 파일을 텍스트/문자열로 파싱하려고합니다. 나는 파일 형식에 대해 긍정적이지 않으므로 이진 파일이라고 가정합니다. 기본적으로 MS regedit
에서 내 보낸 키 (* .reg)입니다. Notepad++
에서 열쇠를 열면 쉽게 읽을 수 있습니다. 그러나 파이썬 (특히 iPython Notebook)에서 행을 반복하려고하면 gobbledygook가 인쇄됩니다.파이썬 바이너리? to Text/String
InFile = open("F:\Uninstallkey.reg","r")
for line in InFile:
print "%r" % (line)
InFile.close()
출력은 :
++ 메모장에서'\xff\xfeW\x00i\x00n\x00d\x00o\x00w\x00s\x00 \x00R\x00e\x00g\x00i\x00s\x00t\x00r\x00y\x00 \x00E\x00d\x00i\x00t\x00o\x00r\x00 \x00V\x00e\x00r\x00s\x00i\x00o\x00n\x00 \x005\x00.\x000\x000\x00\r\x00\n'
'\x00\r\x00\n'
'\x00[\x00H\x00K\x00E\x00Y\x00_\x00L\x00O\x00C\x00A\x00L\x00_\x00M\x00A\x00C\x00H\x00I\x00N\x00E\x00\\\x00S\x00O\x00F\x00T\x00W\x00A\x00R\x00E\x00\\\x00M\x00i\x00c\x00r\x00o\x00s\x00o\x00f\x00t\x00\\\x00W\x00i\x00n\x00d\x00o\x00w\x00s\x00\\\x00C\x00u\x00r\x00r\x00e\x00n\x00t\x00V\x00e\x00r\x00s\x00i\x00o\x00n\x00\\\x00U\x00n\x00i\x00n\x00s\x00t\x00a\x00l\x00l\x00]\x00\r\x00\n'
'\x00\r\x00\n'
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall]
이상하게도, iPython에 제대로 인쇄 :
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall]
길고도 짧은 이야기, 어떻게 다음은 샘플입니다 파일 형식을 d 어떻게 파일을 변환하여 텍스트로 인쇄/파싱 할 수 있습니까?
나중에 참조 할 수 있도록 인코딩을 어떻게 결정 했습니까? – James
@TechMedicNYC Google :-) – jaime