如何保持Python脚本输出窗口打开?

我刚刚开始使用Python。 当我在Windows上执行python脚本文件时,输出窗口出现,但瞬间消失。 我需要它留在那里,所以我可以分析我的输出。 我怎样才能保持开放?

你有几个select:

  1. 从已经打开的terminal运行程序。 打开命令提示符并键入:

    python myscript.py 

    为了这个工作,你需要在你的path中的python可执行文件。 只需检查如何在Windows上编辑环境variables ,然后添加C:\PYTHON26 (或任何安装了python的目录)。

    当程序结束时,它会让你回到cmd提示符,而不是closures窗口。

  2. 添加代码在脚本结尾处等待。 对于Python2,添加…

     raw_input() 

    …在脚本结尾处等待Enter键。 这种方法很烦人,因为你必须修改脚本,而且必须记住当你完成后删除它。 特别讨厌testing其他人的脚本。 对于Python3,使用input()

  3. 使用一个为你暂停的编辑器。 一些编写python的编辑器会在执行后自动暂停。 其他编辑器允许您configuration它用来运行程序的命令行。 运行时将其configuration为“ python -i myscript.py ”特别有用。 在程序结束之后,程序加载了程序环境,这使得你可以进一步使用variables和调用函数和方法。

cmd /k是使用控制台窗口打开任何控制台应用程序(不仅是Python)的典型方法,控制台窗口将在应用程序closures后保留。 我能想到的最简单的方法是按Win + R,键入cmd /k ,然后将所需的脚本拖放到“运行”对话框中。

从已经打开的cmd窗口或者在脚本的末尾添加脚本,在Python 2中添加如下代码:

  raw_input("Press enter to exit ;)") 

或者,在Python 3中:

 input("Press enter to exit ;)") 

为了让您的窗口在exception情况下保持打开状态(但在使用https://stackoverflow.com/a/3702726/2436175打印exception时);

 if __name__ == '__main__': try: ## your code, typically one function call except: import sys print sys.exc_info()[0] import traceback print traceback.format_exc() print "Press Enter to continue ..." raw_input() 

在任何情况下保持窗户打开:

 if __name__ == '__main__': try: ## your code, typically one function call except: import sys print sys.exc_info()[0] import traceback print traceback.format_exc() finally: print "Press Enter to continue ..." raw_input() 

你可以结合以下答案:(对于Notepad ++用户)

按F5运行当前脚本并input命令:

 cmd /k python -i "$(FULL_CURRENT_PATH)" 

通过这种方式,你可以在执行你的Notepad ++ python脚本之后保持交互模式,并且可以使用你的variables等等:)

用这两行创build一个Windowsbatch file:

 python your-program.py pause 

在Python 2中,你可以这样做:raw_input()

 >>print("Hello World!") >>raw_input('Waiting a key...') 

在Python 3中,你可以这样做:input()

 >>print("Hello world!") >>input('Waiting a key...') 

另外,你可以用time.sleep(time)

 >>import time >>print("The program will close in 5 seconds") >>time.sleep(5) 

我有一个类似的问题。 使用记事本+ +我曾经使用命令: C:\Python27\python.exe "$(FULL_CURRENT_PATH)"在代码终止后立即closurescmd窗口。
现在我正在使用cmd /kc:\Python27\python.exe "$(FULL_CURRENT_PATH)"保持cmd窗口打开。

使用atexit ,您可以在程序退出时暂停程序。 如果错误/exception是退出的原因,打印堆栈跟踪后将暂停。

 import atexit # Python 2 should use `raw_input` instead of `input` atexit.register(input, 'Press Enter to continue...') 

在我的程序中,我把调用atexit.register放在except子句中,这样只会在出错的时候暂停。

 if __name__ == "__main__": try: something_that_may_fail() except: # Register the pause. import atexit atexit.register(input, 'Press Enter to continue...') raise # Reraise the exception. 

为了保持窗口的开放,我同意Anurag,这就是我所做的保持我的窗户打开简短的小计算types的程序。

这只会显示一个没有文字的光标:

 raw_input() 

下一个例子会给你一个明确的信息,说明程序已经完成,而不是等待程序中的另一个input提示:

 print('You have reached the end and the "raw_input()" function is keeping the window open') raw_input() 

注意!
(1)在python 3中,没有raw_input() ,只是input()
(2)用单引号表示一个string; 否则,如果你input任何东西双打,如“raw_input()”,它会认为它是一个函数,variables等,而不是文本。

在下一个例子中,我使用双引号,因为它认为“the”和“function”之间的引号中断,即使读了它,你自己的头脑也可以完全理解它:

 print("You have reached the end and the "input()" function is keeping the window open") input() 

希望这可以帮助那些可能会出现的人,但还没有弄清楚计算机是如何思考的。 这可能需要一段时间。 :O)

除了inputraw_input ,还可以使用无限while循环,如下所示: while True: pass (Python 2.5 + / 3)或while 1: pass (Python 2/3的所有版本)。 不过这可能会使用计算能力。

你也可以从命令行运行程序。 在命令行中键入python (Mac OS X Terminal),应该说Python 3.?.? (你的Python版本)它不显示你的Python版本,或者说python: command not found ,查看改变PATH值(上面列出的环境值)/ type C:\(Python folder\python.exe 。键入pythonC:\(Python installation)\python.exe以及程序的完整目录

如果要从桌面快捷方式运行脚本,请右键单击您的Python文件,然后selectSend to|Desktop (create shortcut) 。 然后右键单击该快捷方式并select属性。 在“快捷方式”选项卡上,select“目标:”文本框,然后在path前添加cmd /k ,然后单击“确定”。 快捷方式现在应该运行你的脚本而不closures,你不需要input('Hit enter to close')

请注意,如果您的计算机上有多个版本的python,请在cmd / k和sciptpath之间添加所需的python可执行文件的名称,如下所示:

 cmd /k python3 "C:\Users\<yourname>\Documents\your_scipt.py" 
  1. 去这里下载并安装Notepad ++
  2. 去这里下载并安装Python 2.7不是3。
  3. 开始,运行Powershell。 input以下内容。 [Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")
  4. closuresPowershell并重新打开它。
  5. 为您的程序制作一个目录。 mkdir脚本
  6. 打开该目录的cd脚本
  7. 在Notepad ++中,以新的文件types: print "hello world"
  8. 将文件另存为hello.py
  9. 回到PowerShell,并确保你是在正确的目录中键入dir。 你应该在这里看到你的文件hello.py。
  10. 在Powershell提示符下键入: python hello.py

在Windows 10插入在开始这个:

 #!/usr/bin/env python # -*- coding: utf-8 -*- 

奇怪的,但它对我有用!(当然,与input()结尾)