簡體   English   中英

退出python程序中的函數

[英]Quit function in python program

我有一個在Python中運行的程序,沒有控制台存在(也就是說,我使用py2exe編譯它)。 我希望人們能夠從主菜單中退出,或者通過游戲中的特定按鍵(例如,Shift + Q)退出。 我現在在Windows中運行它,雖然我正在編譯Linux / Mac版本。 如果沒有“while”循環運行,按下X按鈕就可以正常運行,並且正確關閉它,否則它似乎“存儲”關閉命令等​​待直到當前循環關閉。

至於菜單選項,我仔細查看了文檔和Stackoverflow,並嘗試了quit(),exit(),sys.exit()以及我能找到的每個組合,但每次我得到:

Traceback (most recent call last):
  File "alphatime.pyw", line 61177, in <module>
  File "alphatime.pyw", line 53970, in place_menu
NameError: global name 'sys' is not defined

如果我嘗試sys.exit,然后:

Traceback (most recent call last):
  File "alphatime.pyw", line 61177, in <module>
  File "alphatime.pyw", line 53970, in place_menu
NameError: global name 'quit' is not defined

如果我嘗試“退出()”。 我聽說'提升'就像需要關閉程序一樣,但我不清楚這意味着什么(我是Python的新手)以及我將如何做到這一點。

所以,我的問題是雙重的。

首先,我是否可以在循環中放置一些用於識別按鍵的內容,這些內容會識別出被點擊的“X”並關閉?

其次,是否有適當的命令才能關閉程序? 我無法弄清楚為什么這些命令不起作用,而且我有很多人抱怨使用它崩潰的程序,或者他們必須使用ctrl-alt-del,或者其他什么。 我相信

import os
try:
  os._exit(return_code)
except:
  pass

會工作,但在這一點上,我不確定我是否足夠勝任python以適當地部署它。 提前致謝!

你有沒有機會

import sys

因為那應該有效!

NameError:未定義全局名稱“sys”

在使用sys.exit() ,必須先import sys

這是退出該計划的最佳方式。 _開頭的函數名稱被認為是內部函數,除非您真的想要做一些奇怪的事情,否則不應該使用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM