我剛剛開始使用Python。當我在Windows上執行python腳本文件時,輸出窗口出現,但瞬間消失。我需要它留在那裏,以便我可以分析我的輸出。我怎樣才能保持它的開放?如何保持Python腳本輸出窗口打開?
回答
你有幾個選項:
從已經打開的終端運行程序。打開命令提示符並鍵入:
python myscript.py
爲了這樣工作,您需要在您的路徑中使用python可執行文件。只需在Windows上檢查how to edit environment variables,然後添加
C:\PYTHON26
(或安裝python的任何目錄)。當程序結束時,它會讓你回到cmd提示符而不是關閉窗口。
添加代碼以在腳本結尾等待。對於Python2,加入...
raw_input()
...在腳本的結束使得等待輸入鍵。該方法令人討厭,因爲您必須修改腳本,並且必須記住在完成時將其刪除。測試其他人的腳本時特別惱人。對於Python3,請使用
input()
。使用一個爲你暫停的編輯器。準備好的一些編輯器會在執行後自動暫停。其他編輯器允許您配置它用來運行程序的命令行。運行時將其配置爲「
python -i myscript.py
」特別有用。這會在程序結束後將程序環境加載到一個python shell中,因此您可以進一步使用變量和調用函數和方法。
+1項目3.我使用Scite作爲我的Python編輯器,它只需將輸出保留在其自己的輸出窗口中。這非常有用,因爲您可以在單個窗口中看到多次運行的輸出。 – 2009-06-16 12:14:59
我能夠通過從已經打開的終端運行它來看到輸出。但我需要在python命令中提供完整的腳本地址?這可以避免嗎? 當我使用raw_input()方法時,它給了我 NameError:name'raw_input'沒有被定義。 你能推薦一個編輯器,它會在執行後自動暫停嗎? – rohitmishra 2009-06-16 12:20:28
@movingahead:也許你正在使用python 3?在python 3中,它被重命名爲input()。但是現在我會使用python 2.6,因爲python 3缺少尚未移植的重要第三方庫。 (請參閱python 2vs3上的其他問題)。關於編輯器,我不使用Windows,使用記事本++可以配置命令。我使用具有Windows版本的emacs,但我從來沒有使用它。 – nosklo 2009-06-16 13:30:35
啓動腳本已經打開cmd窗口或 在腳本的末尾添加這樣的事情,在Python 2:
raw_input("Press enter to exit ;)")
或者,在Python 3:
input("Press enter to exit ;)")
「任何鍵」都不起作用,只有按Enter鍵(或按Ctrl + D,取決於我們的位置)。 – 2013-11-02 18:01:05
@DanielAndersson是的,改變了文字 – 2013-11-03 23:17:59
如果你仔細想想,只有「進入」才能讓你「退出」...... – 2013-11-05 23:54:10
cmd /k
是打開一個控制檯窗口的應用程序關閉後,將保留所有控制檯應用程序(不僅僅是Python)的典型方式。我認爲最簡單的方法是按Win + R,鍵入cmd /k
,然後拖動&將您想要的腳本拖放到運行對話框。
我有類似的問題。使用Notepad ++,我曾經使用命令:C:\Python27\python.exe "$(FULL_CURRENT_PATH)"
,在代碼終止後立即關閉了cmd窗口。
現在我正在使用cmd /k c:\Python27\python.exe "$(FULL_CURRENT_PATH)"
,它保持cmd窗口打開。
你可以前的答案組合:(記事本++用戶)
按F5運行當前的腳本,並輸入命令:在這種方式
cmd /k python -i "$(FULL_CURRENT_PATH)"
你留在交互模式下執行你的記事本+ +後Python腳本,你能玩的的變量等等:)
- 轉到here並下載和安裝記事本++
- 轉到here並下載並安裝Python 2.7不是3.
- 啓動Run Powershell。輸入以下內容。
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")
- 關閉Powershell並重新打開它。
- 爲您的程序製作一個目錄。 MKDIR腳本
- 打開該目錄cd腳本
- 在記事本++,在一個新的文件類型:
print "hello world"
- 將文件保存爲hello.py
- 回到PowerShell和確保你是在正確的目錄中鍵入dir。你應該在那裏看到你的文件hello.py。
- 在PowerShell提示符下鍵入:
python hello.py
只保留窗口打開我阿努拉格同意,這是我做過什麼讓我開窗短小的計算類型節目。
這將只顯示沒有文本光標:
raw_input()
下一個例子會給你一個明確的信息,在程序完成,在程序中沒有等待另一個輸入提示:
print('You have reached the end and the "raw_input()" function is keeping the window open')
raw_input()
Note!
(1) In python 3, there is no raw_input(), just input().
(2) Use single quotes to indicate a string; otherwise if you type doubles around anything, such as "raw_input()", it will think it is a function, variable, etc, and not text.
在下面這個例子中,我我們Ë雙引號和它不會工作,因爲它認爲有介於兩者之間的引號休息「的」和「功能」,即使當你讀它,你自己的心靈可以利用它完美的意義:
print("You have reached the end and the "input()" function is keeping the window open")
input()
希望這可以幫助其他人可能開始,但仍然沒有弄清楚計算機如何認爲。這可能需要一段時間。:O)
爲了保持你的窗戶開着異常的情況下(但,在打印過程中使用https://stackoverflow.com/a/3702726/2436175)
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()
創建具有以下2行的Windows批處理文件:
python your-program.py
pause
除了input
和raw_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值(環境值,上面列出的)/類型C:\(Python folder\python.exe
。如果成功,請鍵入python
或C:\(Python installation)\python.exe
和完整目錄您的程序。
在Python 2可以用做:的raw_input()
>>print("Hello World!")
>>raw_input('Waiting a key...')
在Python 3可以用做:輸入()
>>print("Hello world!")
>>input('Waiting a key...')
另外,還可以用做time.sleep(時間)
>>import time
>>print("The program will close in 5 seconds")
>>time.sleep(5)
使用atexit
,您可以在退出時暫停節目的權利。如果錯誤/異常是退出的原因,它將在打印堆棧跟蹤後暫停。
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.
在窗口10插入在beggining這樣的:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
奇怪,但它爲我工作(與輸入()在最後一起,當然)
如果你想!要從桌面快捷方式運行腳本,請右鍵單擊您的python文件並選擇Send to|Desktop (create shortcut)
。然後右鍵單擊該快捷方式並選擇屬性。在快捷方式選項卡上選擇目標:文本框,並在路徑前添加cmd /k
,然後單擊確定。該快捷方式現在應該不關閉運行腳本,你不需要input('Hit enter to close')
注意,如果你有蟒蛇的多個版本的機器上,添加CMD/k和之間所需的蟒蛇可執行文件的名稱scipt路徑是這樣的:
cmd /k python3 "C:\Users\<yourname>\Documents\your_scipt.py"
- 1. Python EasyGUI如何在給定輸入時保持窗口打開
- 2. 如何在Eclipse的COBOL IDE中保持輸出窗口打開?
- 3. Python - 保持Tkinter窗口打開?
- 4. 保持打開cmd窗口
- 5. 如何從.Net應用程序打開時如何保持打開Python腳本命令窗口?
- 6. Visual Studio 2010保持輸出窗口在調試時打開
- 7. 使用彈出窗口並保持窗體打開
- 8. Visual Studio - 保持命令窗口打開
- 9. 如何關閉未被腳本打開的窗口/彈出框
- 10. 保持我的css彈出窗口打開,直到我點擊彈出窗口
- 11. Python的 - 保持命令窗口打開看到的結果
- 12. 如何在保持打開的gnome-terminal窗口內執行用Python編寫的Nautilus腳本?
- 13. 用腳本注入打開的窗口
- 14. 問題與打字腳本輸出腳手架(保持結構)
- 15. Firebug - 彈出關閉後保持窗口打開
- 16. C++防止打開輸出窗口
- 17. Java Swing:如何在關閉後保持父窗口打開JFileChooser
- 18. 如何保持窗口打開:ShellExecuteW(0,0,「powershell.exe」,「..」,「..」,SW_SHOW)?
- 19. 如何讓PowerShell保持命令窗口打開?
- 20. jQuery UI Accordian:如何保持特定的窗口默認打開?
- 21. 如何保持控制檯窗口打開
- 22. 如何在執行後保持控制檯窗口打開?
- 23. 我如何使intellij android預覽窗口保持打開狀態?
- 24. 如何打開shell窗口輸出在python中打印實時調試信息
- 25. 打印python腳本輸出到文本文件和命令窗口
- 26. 打開彈出窗口中易於打開的彈出窗口
- 27. 如何在彈出窗口中打開彈出窗口?
- 28. 如何打開彈出窗口並關閉彈出窗口?
- 29. 保持端口打開 - iPhone
- 30. 如何打開一個彈出窗口?
遲到+1000。我使用python作爲使用Windows的朋友的教學語言,我無法相信這是多少麻煩(至少根據現有的文檔)到達我們可以運行腳本並查看輸出的位置。 – Cascabel 2011-07-23 18:08:56
只需將腳本拖放到cmd窗口 – JinSnow 2017-02-10 12:23:37
您會認爲輸出窗口應該保持默認打開狀態。它在Mac OS中運行Python時會執行此操作。非常令人沮喪的 – Fandango68 2017-11-30 06:45:09