【问题标题】:Unable to Exit or Quit Python Script From Command Line无法从命令行退出或退出 Python 脚本
【发布时间】:2017-03-04 09:23:18
【问题描述】:

我正在从命令行运行这个 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 中将输出记录到日志文件的能力。

感谢您的帮助。

【问题讨论】:

  • 您可能会觉得这很有帮助:stackoverflow.com/questions/4084322/…
  • firstscript.py 已经 退出到命令行,但是 secondscript.py 一直在向控制台写入文本,隐藏第一个脚本退出时打印的提示?去仔细阅读你的回滚历史。按 Enter 只会让终端打印一个新的提示符。

标签: python python-2.7


【解决方案1】:

您似乎在问是否有更好的方法来做到这一点。查看 check_output。与子流程中的较低级别的东西相比,我一直发现它更方便和更简单。

【讨论】:

    【解决方案2】:

    以下更改对我有用:

    # run on command line as: python firstscript.py    
    import sys, subprocess 
    
    process = subprocess.Popen([sys.executable, 'secondscript.py'])
    output = process.communicate()[0]
    

    【讨论】:

      猜你喜欢
      • 2017-10-31
      • 1970-01-01
      • 2020-02-10
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多