【发布时间】:2015-06-05 10:00:39
【问题描述】:
我需要运行 pdb2mdb.exe 实用程序,并将 DLL 文件作为参数传递。
经过长时间的谷歌搜索,并使用各种call/Popen - 我仍然找不到解决方案......
这是最后一个代码:
def pdb2mdb(logger, modsrcdll):
os.chdir("C:\\Program Files (x86)\\Unity\\Editor\\Data\\MonoBleedingEdge\\lib\\mono\\4.0\\")
subprocess.call("pdb2mdb.exe %s" % modsrcdll)
但是 - 这样 pdb2mdb.exe 不想接受参数,并打印它的帮助:
Copy file d:\***.dll to C:\cloudlibrary\data
Copy file D:\***.dll.xml to C:\cloudlibrary\data
PDP FOUND
pdbexe found
Mono pdb to mdb debug symbol store converter
Usage: pdb2mdb assembly
没有os.chdir() - 它根本无法解析C:\\Program Files (x86)...
我之前在Linux下用过subprocess.call(),从来没有遇到过这样的问题,例如:
subprocess.call('ls -l %s | grep -v total' % self.path, shell=True)
【问题讨论】:
-
嵌入空格字符的路径必须用
"引用。即subprocess.call('pdb2mdb.exe "%s"' % modsrcdll).
标签: python windows python-2.7