【问题标题】:How can I have a python script safely exit itself?如何让 python 脚本安全退出?
【发布时间】:2012-08-03 03:01:01
【问题描述】:

这是我有一个密码必须输入的场景,如果输入错误,脚本将无法继续并自行退出?但是我怎样才能告诉脚本安全退出呢?

我尝试了sys.exit(),但这会产生回溯错误,并且似乎不是一个非常干净的退出方法。

【问题讨论】:

  • 错误是NameError: global name 'sys' is not defined吗?调用 sys.exit() 对我来说很干净。
  • 回溯错误只存在于IDLE中,才是退出程序的正确方式。
  • @Josh 很抱歉我还在使用这个很棒的网站!
  • 哦,对了,还有一件事。 IDLE之所以存在,是因为IDLE会捕获并跟踪所有异常,sys.exit()会抛出异常。除非您尝试将其放入try: except: pass(无论如何这是不好的做法),否则这对您来说没什么大不了的。
  • @l4mpi 不,它略有不同。 sys.exit<built-in function exit>,但 exit<class 'site.Quitter'> 对象。

标签: python windows exit


【解决方案1】:

事实上,sys.exit() 只会抛出一个SystemExit 异常,如果没有捕获到这个异常,程序就会退出,但我不认为这是糟糕的编码。

无论如何,如果您需要不惜一切代价立即退出,另一种可能性是使用os._exit(0)。 (参见http://docs.python.org/2/library/exceptions.html#exceptions.SystemExit

【讨论】:

    【解决方案2】:

    您正在使用sys 模块,但尚未导入它。

    sys.exit() 行之前添加:

    import sys
    

    【讨论】:

      猜你喜欢
      • 2019-01-31
      • 2014-10-16
      • 1970-01-01
      • 2019-08-06
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 2019-07-05
      • 1970-01-01
      相关资源
      最近更新 更多