0

我有这段代码,我需要运行一个子进程并在命令窗口中打印出 whats 的输出。

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中搞砸了什么command??

非常感谢您的帮助!

4

1 回答 1

1

我相信您的路径格式不正确,应该是两个反斜杠\\而不是正斜杠/

出于调试目的,请尝试使用os.path.exists(path), 首先确保路径正确。然后,您可以使用os.path.join来修复您的路径(此处的文档)。

于 2013-05-20T19:02:59.420 回答