使用Python 3将字节作为参数提供给exe

时间:2012-09-24 20:51:48

标签: arguments byte python-3.2

我有一个需要使用Python 3.2.3打开的exe。我还需要以字节的形式将参数传递给exe。我尝试做类似的事情:

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

这很好用,但是当我尝试将不可打印的字符作为'\ x86'之类的参数时,它会转换为'\ 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)

但显然,这会导致类型错误。有没有人有任何建议让这件事情完成?

1 个答案:

答案 0 :(得分:0)

无法做到。问题在于子进程所做的是假装在命令提示符中键入命令。你有权访问myfile.exe的源码吗?您可以轻松地将字节表示为字符串或数字。