我正在调整我在Linux for Win 7上编写的代码。
在Linux上它是:
subprocess.call(['./myscript.py', arg1, arg2, arg3])
它是从壳牌推出的,一切正常。 对于Windows(我在Idle使用Python)我做到了:
subprocess.call(['myscript.py', arg1, arg2, arg3], shell=True)
似乎没有启动任何东西,但是没有给我任何错误。我尝试使用pdb.set_trace()调试该函数,并且myscript.py中的检查点未显示。
答案 0 :(得分:1)
在评论和链接问题中,在Windows中你不能简单地执行python脚本,你还需要提供python可执行文件的路径。由于您已经在使用python,因此只需使用sys.executable
import sys
p = subprocess.Popen([sys.executable, 'myscript.py', arg1, arg2, arg3])
输出通过管道传输到stderr
和stdout
- 要查看它,您还需要communicate
(stdoutdata, stderrdata) = p.communicate()
print stdoutdata,
print stderrdata