簡體   English   中英

在 Ctrl-C 上刪除 Python 中的回溯

[英]Remove traceback in Python on Ctrl-C

當您點擊Ctrl + c時,有沒有辦法防止出現回溯,即在 Python 腳本中提高KeyboardInterrupt

嘗試這個:

import signal
import sys
signal.signal(signal.SIGINT, lambda x, y: sys.exit(0))

這樣您就不需要將所有內容都包裝在異常處理程序中。

import sys
try:
    # your code
except KeyboardInterrupt:
    sys.exit(0) # or 1, or whatever

是最簡單的方法,假設您在獲得Ctrl + c時仍想退出。

如果你想在沒有嘗試/例外的情況下捕獲它,你可以使用signal模塊使用這樣的配方,除非它在 Windows 上似乎對我不起作用。

捕捉KeyboardInterrupt

try:
    # do something
except KeyboardInterrupt:
    pass
try:
    your_stuff()
except KeyboardInterrupt:
    print("no traceback")

用 try/except 塊捕捉它:

while True:
   try:
      print "This will go on forever"
   except KeyboardInterrupt:
      pass

另請注意,默認情況下,解釋器以狀態碼 128 + 您平台上的 SIGINT 值(在大多數系統上為 2)退出。

    import sys, signal

    try:
        # code...
    except KeyboardInterrupt: # Suppress tracebacks on SIGINT
        sys.exit(128 + signal.SIGINT) # http://tldp.org/LDP/abs/html/exitcodes.html
import sys
try:
    print("HELLO")
    english = input("Enter your main launguage: ")
    print("GOODBYE")
except KeyboardInterrupt:
    print("GET LOST")

暫無
暫無

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

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