Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从命令行退出或退出Python脚本_Python_Python 2.7 - Fatal编程技术网

无法从命令行退出或退出Python脚本

无法从命令行退出或退出Python脚本,python,python-2.7,Python,Python 2.7,我正在从命令行运行以下python代码: # run on command line as: python firstscript.py import sys, subprocess pid = subprocess.Popen([sys.executable, 'secondscript.py']).pid sys.exit() 不幸的是,我无法让它一直退出到命令行。如果我按enter键(在OSX上),它将最终退出。有没有一种方法可以迫使脚本一路退出到命令行,而不停留在这种奇怪的

我正在从命令行运行以下python代码:

# run on command line as: python firstscript.py    
import sys, subprocess 

pid = subprocess.Popen([sys.executable, 'secondscript.py']).pid
sys.exit()
不幸的是,我无法让它一直退出到命令行。如果我按enter键(在OSX上),它将最终退出。有没有一种方法可以迫使脚本一路退出到命令行,而不停留在这种奇怪的边缘状态?另外,我不想将stdout或stderr重定向到其他任何地方,因为如果这样做,我将失去secondscript.py将输出记录到日志文件的功能


谢谢你的帮助。

你似乎在问是否有更好的方法来实现这一点。检查Check_输出。我总是发现,与子流程中较低级别的内容相比,它更方便、更简单。

下面的更改对我很有用:

# run on command line as: python firstscript.py    
import sys, subprocess 

process = subprocess.Popen([sys.executable, 'secondscript.py'])
output = process.communicate()[0]
您可能会发现这很有帮助:firstscript.py是否有可能退出到命令行,但secondscript.py一直在向控制台写入文本,隐藏第一个脚本退出时打印的提示?仔细阅读你的历史记录。按Enter键只会使终端打印一个新的、新的提示。