我从命令行运行这个python代码:
# run on command line as: python firstscript.py
import sys, subprocess
pid = subprocess.Popen([sys.executable, 'secondscript.py']).pid
sys.exit()
不幸的是我无法让它一直退出到命令行。如果我按下回车键(在OSX上)它将最终退出。有没有办法强制脚本一直退出到命令行而不会在这种奇怪的状态下徘徊?另外,我不想在其他任何地方重定向stdout或stderr,因为如果我这样做,我将失去在secondscript.py中将输出记录到日志文件的能力。
感谢您的帮助。
答案 0 :(得分:0)
你似乎在问是否有更好的方法来做到这一点。看看check_output。与子流程中较低级别的东西相比,我总是发现它更方便,更简单。
答案 1 :(得分:0)
以下更改对我有用:
# run on command line as: python firstscript.py
import sys, subprocess
process = subprocess.Popen([sys.executable, 'secondscript.py'])
output = process.communicate()[0]