标题有点误导。我需要从脚本中调用rundll32.exe来执行dll并传递文件路径作为输入。所以我有这个功能:
def load_bin(path_to_bin):
"""Loads test.bin"""
# convert to a unix-style path
path_to_bin = path_to_bin.replace('\\', '/')
t = Template('rundll32.exe myDLL.dll,myCommand $path_to_bin')
cmd = t.substitute({'path_to_bin': path_to_bin})
proc = subprocess.run(cmd, shell=False)
return(proc.args)
proc.args = rundll32.exe myDLL.dll,MyCommand 'C:/temp/test.bin'
这不起作用,因为路径包含引号字符,如您在 proc.args 中所见。该命令仅在路径不带引号的情况下起作用(不知道为什么)。如何摆脱引号字符?
或者还有另一种方法吗?