我有一个简单的Python脚本,如果满足某个条件,我希望能够停止执行。
例如:
done = True
if done:
# quit/stop/exit
else:
# do other stuff
本质上,我正在寻找与函数体中的'return'关键字行为等效的东西,它允许代码流退出函数并不执行剩余的代码。
要退出脚本,您可以使用:
import sys
sys.exit()
您也可以提供一个退出状态值,通常是一个整数。
import sys
sys.exit(0)
以零退出,通常被解释为成功。非零代码通常被视为错误。默认情况下,以零退出。
import sys
sys.exit("aa! errors!")
你可以将脚本的主体放入一个函数中,然后从该函数中返回。
def main():
done = True
if done:
return
# quit/stop/exit
else:
# do other stuff
if __name__ == "__main__":
#Run as main program
main()
import sys
sys.exit()
import sys
sys.exit(...)
或者:
raise SystemExit(...)
可选参数可以是退出代码或错误消息,两种方法都是相同的。我曾经更喜欢使用sys.exit,但最近我已经改用引发SystemExit,因为它似乎在代码中更加突出(由于raise关键字)。
使用exit()函数即可解决问题。
尝试
sys.exit("message")
这就像是Perl语言一样。
die("message")
使用exit()即可。
return
语句是行不通的。 - unfa
sys.stdout.flush()
与os._exit(0)
的搭配正是我所需要的。谢谢! - Anconiasys.exit(0)
时会发出警告:SystemExit: 0 C:\Python37\lib\site-packages\IPython\core\interactiveshell.py:2969: UserWarning: To exit: use 'exit', 'quit', or Ctrl-D. warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)
。这个警告是否正常?它只是因为我正在使用iPython吗? - Dr_Zaszuś