我有这段代码,我需要用它来运行子进程,并在命令窗口中打印输出。
import subprocess
msprompt = 'C:\Windows\Microsoft.NET\Framework64\\v4.0.30319\\MSBuild.exe'
path = "C:/Users/bgb/Documents/Brent/Code/Visual Studio/tree.DataManagement.UnitTests./tree.DataManagement.UnitTests.vbproj"
def command(msprompt, openFile):
for line in finalPathList:
p = subprocess.Popen([msprompt, path], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in p.stdout.readlines():
print line,
retval = p.wait()当我在编译器中运行这段代码时,它不能工作,它会显示以下消息:
MSBUILD : error MSB1009: Project file does not exist.
Switch: "C:/Users/bgb/Documents/Brent/Code/Visual Studio/tree.FormControls.UnitTests./tree.FormControls.UnitTests.vbproj"但是,如果我完全独立地打开命令窗口,复制并粘贴msprompt,然后复制path并将其粘贴到命令窗口中,然后按enter键,它会完美地工作,有人知道我在command函数中搞砸了什么吗??
非常感谢您的帮助!
发布于 2013-05-21 03:02:59
我相信你的路径格式是不正确的,它应该是两个反斜杠\\而不是正斜杠/。
出于调试目的,请尝试使用os.path.exists(path),首先确保路径正确。然后您可以使用os.path.join修复您的路径(docs here)。
https://stackoverflow.com/questions/16656361
复制相似问题