2012-09-24 2 views
0

파이썬 3.2.3을 사용하여 열 필요가있는 exe 파일이 있습니다. 또한 바이트 형식의 인수를 exe에 전달해야합니다. 내가 좋아하는 일을하려고 :Python 3을 사용하여 exe에 인수로 바이트 제공

argument = '\x50'*260 
subprocess.call([command, argument]) 

이 잘 작동하지만 '\의 86'와 같은 인수로 인쇄 할 수없는 문자를 제공 할 때, 그것은 '\의 X3F'로 변환됩니다. 인수를 인쇄하면 다음과 같은 오류를 제공합니다 :

UnicodeEncodeError: 'charmap' codec can't encode character '\x86' in position 262: character maps to <undefined> 

그래서 나는 os.system을 사용하여 그 일을 시도 :

command = "C:\myfile.exe "+b"\x50"*260 
os.system(command) 

을하지만, 분명히,이 유형의 오류로 이어집니다. 이 일을 끝내기위한 제안이있는 사람이 있습니까?

답변

0

할 수 없습니다. 문제는 하위 프로세스가 명령 프롬프트에 명령을 입력하는 것처럼 가장하는 것입니다. myfile.exe의 소스에 액세스 할 수 있습니까? 바이트를 문자열이나 숫자로 쉽게 나타낼 수 있습니다.

관련 문제