【问题标题】:Python.exe opens in a new console windowPython.exe 在新的控制台窗口中打开
【发布时间】:2019-05-06 11:48:50
【问题描述】:

我曾经从我的 Windows 命令行运行 Python 脚本,并且所有打印都打印在同一个控制台中。现在我的机器(Windows 10)上发生了一些事情,当我从命令行启动 Python 脚本(即打开命令提示符并运行python <my_script.py>)时,Windows 会打开一个新窗口(标题为 python.exe 的绝对路径) )。这个窗口在执行结束时自动关闭,所以我看不到输出。

如何在运行脚本的同一命令提示符窗口中返回打印输出?

【问题讨论】:

  • 是只发生在某些程序上,还是全部发生?
  • 您可以在这里尝试一些答案:stackoverflow.com/questions/1000900/…。此外,Windows 实际上有两个 Python 可执行文件,python.exepythonw.exe。我认为当使用其中一个时终端会弹出,而另一个则不会。所以也许命令“python”只需要与另一个相关联。
  • 你收到 UAC 提示了吗?如果是这样,也许您不小心将 Python 配置为以管理员访问权限运行。尝试从提升的命令提示符运行python script.py。如果还是一样,运行 where python 以确保 CMD 找到正确版本的 python.exe,而不是批处理脚本或快捷方式。

标签: python windows windows-console


【解决方案1】:

在我的计算机中,这是由于 Windows 不知道 .py 文件与哪个程序相关联。我通过以下方式解决了这个问题: 控制面板->程序->默认程序->将文件类型或协议与程序关联(向下滚动)并选择“按文件类型选择默认应用程序”向下滚动直到看到“.py”并选择正确的 Python 解释器。

【讨论】:

    【解决方案2】:

    不确定这会有多大用处,但我遇到了同样的问题,找到了这个线程,并意识到当我从命令中省略“python”时,新的控制台窗口正在打开。

    >python myscript.py
    

    在我输入命令的终端中显示输出,但是

    >myscript.py
    

    打开新的控制台窗口并在脚本运行后立即关闭它。

    【讨论】:

    • 我有一个类似的问题,但是当通过 python 打开它时它说它找不到文件(它是通过 pip 安装的,并且脚本文件夹在路径中
    • 这是我遇到的问题。任何人都知道如何解决这个问题,这样我就不必说python(或py)?
    【解决方案3】:

    简单地说:程序末尾的最后一行可能是这样的: input("\n如果你想结束程序,请按任意键...") ...您的程序等待密钥,然后您会看到结果

    【讨论】:

      【解决方案4】:

      这很奇怪,但很可能是 Windows 设置问题,因为 python 是一个 exe。如果内存服务窗口将在 > run 命令上生成,因此检查 python 的启动方式会有所帮助。

      不幸的是,这可能是一系列问题,因此请迈出胜利的步伐:

      当您在 cmd 中输入 python 时会发生什么?如果它只是启动输入 >>> - 这意味着您的 python 设置很好。如果 cmd 窗口生成并消失,则可能是 Windows 权限问题。

      尝试使用-i 标志运行您的脚本:python -i script.py。当应用程序完成时,这会让您进入 repl - 显示您的输出。

      确保您使用 cmd 的本机风格进行测试。确保任何命令应用程序或 IDE 没有注入 start 命令或奇怪的 /K(生成新窗口)标志。

      希望对你有帮助。

      【讨论】:

      • 这不是 CMD 窗口。这是一个由 conhost.exe 托管的控制台窗口。 CMD 是一个使用控制台的解释器和 shell,与 python.exe 没有什么不同。 cmd.exe /k 产生一个新的 shell(但不是一个新的控制台;那只是 start),运行一个命令,等待它退出,然后返回到交互式 shell,就像 python -i 运行一个脚本并返回到Python 的外壳(即 REPL)。
      • @Glycerine ,在 cmd 中输入 python 会在新窗口中打开交互式 python 提示符 (>>>),左上角有 Python 徽标。
      猜你喜欢
      • 2012-07-27
      • 2013-06-30
      • 2018-06-28
      • 2014-04-20
      • 2012-06-22
      • 2010-12-26
      • 2012-06-07
      • 2017-02-26
      • 2011-04-07
      相关资源
      最近更新 更多