2012-09-11 105 views
18

我剛開始上大學,我們將要使用python。我們確實沒有做任何事情,所以我下載了程序並完成了一些打印命令,就是這樣。如何在Microsoft Windows中執行時立即停止Python關閉

當我運行我的.py文件(一個print命令)它會在出現後立即關閉。我明白它爲什麼這樣做 - 它給出了輸出,所以它完成了它需要做的事情 - 但我也明白,你可以阻止這種情況發生。

我環視了這個網站,並沒有任何解決這個問題的解決方案,無論是我還是不明白他們。

是否有一個簡單的命令,我可以輸入到我的IDLE編輯器,將暫停或什麼東西?按照某人的建議,我試過input("prompt: "),這沒有什麼區別。

如果沒有這個命令,是否有方法來改變計算機上的設置,以便程序不會自動關閉?

+1

你在使用Windows機器嗎?如果你是,你是否雙擊.py文件?嘗試打開.py文件夾中的命令提示符,然後運行'python。 your_file.py'然後你的編輯器將顯示輸出,但保持打開後。 – Ctrlspc

+1

如果輸入無法正常工作,你有一個錯誤是在你到達那裏之前殺死該文件...運行它從「cmd」而不是Ctrlspc所說的點擊:) –

+2

對不起剛剛注意到一個錯字,現在無法編輯我的評論,你應該運行'python your_file.py'(在我最後的評論中忽略python後的點)。 – Ctrlspc

回答

6

打開你的cmd(命令提示符)並從那裏運行Python命令。 (在Windows去跑或搜索,並鍵入CMD) 它應該是這樣的:

python yourprogram.py 

這將在cmd中執行代碼,它會被懸空。 但是要使用python命令,必須正確安裝Python,以便cmd將其識別爲命令。檢查適當的安裝和變量註冊爲您的操作系統,如果這沒有發生

+0

我按照你的說法完成了,它只是說''python'不是識別爲內部或外部命令,可操作程序或批處理文件「。 – keirbtre

+0

你沒有提到,因爲你沒有註冊全局變量,怎麼做這裏解釋http://docs.python.org/using/windows.html 特別看看3.3.1 – rodling

+1

什麼?是的,我的確如前所述。如果他漏掉了一些東西,而且我按照指示行事,我並不是「沒有做到」,而是被告知要做的事情。我找到了環境變量,但不知道我現在要做什麼,因爲就我所知,這個鏈接並沒有告訴你該怎麼做。感謝您的更多答覆btw :) – keirbtre

4

運行該命令使用Windows命令提示符從您的主要Python庫源。 示例。

C:\Python27\python.exe directoryToFile\yourprogram.py 
+0

這對我來說非常合適,謝謝! – Tensigh

+0

或只是拖動你的.py到cmd窗口(並按回車鍵) – JinSnow

13

在Python 3,以下內容添加到您的代碼的末尾:

input('Press ENTER to exit') 

這將導致程序等待用戶輸入,具有緊迫ENTER導致程序來完成。

您可以用這種方式方便地雙擊Windows中的script.py文件。

+0

'這將導致程序等待用戶輸入',除非在輸入()之前在行中觸發錯誤 – JinSnow

+1

在python 2.7 .x使用raw_input()而不是input()。 – G4mo

1

如果你只是想延遲

from time import * 

sleep(20) 
+1

請嘗試格式化您的答案中的代碼(在任何代碼行之前放置4個空格)。 – dkar

1

在Python 2.7添加此我PY文件的末尾(if __name__ == '__main__':)工作原理:

closeInput = raw_input("Press ENTER to exit") 
print "Closing..." 
5

,對我-i工作的唯一的事命令行參數。

只需將所有python代碼放在​​.py文件中,然後運行以下命令;

python -i script.py 

這意味着,如果你設置-i變量和運行模塊那麼Python不會退出上SystemExit。 瞭解更多link

+0

程序結束後,'-i'選項表示切換到交互模式(帶有'>>>'提示符)。然後可以退出或與glocal對象交互。從IDLE編輯器運行代碼具有相同的效果。 –

+0

Upvoted,但這隻會是一個解決方案,如果有人可以解釋如何在用戶雙擊Python腳本時自動打開'-i'模式。這是該問題的用例;在命令行使用情況下,該窗口仍然無法關閉。 – alexis

-1

那麼我有類似的問題, 它通過添加環境變量解決。

在窗口中添加系統變量

名稱:PYTHONPATH

值:C:\Python27;

你的Python路徑。

0

我覺得我爲時已晚回答這個問題,但無論如何,這裏什麼都不做。

我以前遇到同樣的問題,我認爲有兩種可供選擇的替代解決方案。

  1. 使用睡眠(_sometime)

from time import * sleep(10)

  • 使用提示消息(注意,我使用Python 2.7)
  • exit_now = raw_input("Do you like to exit now (Y)es (N)o ? ")'

    if exit_now.lower() = 'n'

    //more processing here

    或者,也可以使用這兩種方法的混合,以及在這裏可以提示的消息,並使用睡眠(有時)以延遲窗口關閉爲好。選擇是你的。

    請注意以上只是想法,如果你想在實踐中使用任何這些想法,你可能需要考慮一下你的應用邏輯。

    1

    取決於我正在使用它,或者如果我正在做其他人將使用的東西,我通常只是input("Do eighteen backflips to continue")如果它只是爲我,如果別人將使用我只是創建一個批處理文件並暫停它

    cd '/file/path/here' 
    python yourfile.py 
    pause 
    

    後,我用,如果有將是重命名的文件上,移動,複製等,我的CMD需要在對事物的特定文件夾下跌,我想他們,否則 - 只是

    python '/path/to/file/yourfile.py' 
    pause