【问题标题】:How to restart a program in Pycharm?如何在 Pycharm 中重新启动程序?
【发布时间】:2017-02-20 12:32:14
【问题描述】:

对于下面的代码,如果在命令提示符下运行,结果是: 1 2 3 4 5 6 1 2 3 4 5 6 . . .

如果在Pycharm中运行,结果只有: 1 2 3 4 5 6. 也就是说,restart_program() 在 Pycharm 中不会产生任何东西。

import sys
import os
def restart_program():
    """Restarts the current program.
    Note: this function does not return. Any cleanup action (like
    saving data) must be done before calling this function."""
    python = sys.executable
    os.execl(python, python, *sys.argv)
if __name__ == "__main__":
    for i in range(1,10,1):
        print i
        if i>5:
            restart_program()

【问题讨论】:

  • sys.executable 在 PyCharm 中是不一样的。可能会尝试重新启动 PyCharm(但由于它可能受到多个实例的保护而未能这样做,但不确定)。在这两种情况下都尝试打印sys.executable
  • 它在 Pycharm 中工作。
  • @Jean-FrançoisFabre sys.executables 在这两种情况下都是相同的,在我的电脑中是 python.exe。
  • @McGrady 在 Pycharm 的终端中可以使用,但是当我使用 Ctrl+Shift+F10 运行程序时就不行了。

标签: python pycharm application-restart python-os


【解决方案1】:

更改我的运行配置以使用 Python 控制台运行脚本对我有用。

打开“运行”菜单(或单击运行按钮左侧的箭头)并单击“编辑配置...”。 应显示您的默认配置。在 Configuration->Execution 部分勾选“Run with Python Console”并保存更改。

当使用编辑的运行配置时,您的脚本现在将使用 Python 控制台执行,并且重新启动应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 2014-08-27
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    相关资源
    最近更新 更多