有時當一個條件成立的情況下,需要終止程序,可以使用sys.exit()退出程序。sys.exit()會引發一個異常
1.如果這個異常沒有被捕獲,那么python編譯器將會退出,后面的程序將不會執行。
2.如果這個異常被捕獲(try...except...finally),捕獲這個異常可以做一些額外的清理工作,后面的程序還會繼續執行。
注:0為正常退出,其他數值(1-127)為不正常,可拋異常事件供捕獲。
另一種終止程序的方法os._exit()
一般情況下使用sys.exit()即可,一般在fork出來的子進程中使用os._exit()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import os, sys import pandas as pd import numpy as np df = pd.DataFrame({ 'a' :[ 1 , 2 , 3 , 4 ], 'b' :[ 'a' , 'b' , 'c' ,np.nan], 'c' :[ '2017-09' , '2017-09-12' , '2017-08-22' , '2017-07-11' ], 'd' :[ '2017-09' , '2017-12' , '2017-08' , '2017-07' ]}) t = df.iloc[ 2 ,:].tolist() df.columns = t print (df) c = [ 1 , 2 , 5 ] dic = { 1 : 2 , 2 : 3 , 3 : 4 } #print(dic.keys()) new_col = [] for x in c: if x not in dic.keys(): new_col.append(x) if new_col: print (new_col) sys.exit( 1 ) print ( 'ssss' ) |
知識點擴展:
1. sys.exit()
執行該語句會直接退出程序,這也是經常使用的方法,也不需要考慮平臺等因素的影響,一般是退出Python程序的首選方法。
該方法中包含一個參數status,默認為0,表示正常退出,也可以為1,表示異常退出。
1
2
3
4
|
import sys sys.exit() sys.exit( 0 ) sys.exit( 1 ) |
該方法引發的是一個SystemExit異常(這是唯一一個不會被認為是錯誤的異常),當沒有設置捕獲這個異常將會直接退出程序執行,當然也可以捕獲這個異常進行一些其他操作。
2. os._exit()
效果也是直接退出,不會拋出異常,但是其使用會受到平臺的限制,但我們常用的Win32平臺和基于UNIX的平臺不會有所影響。
知乎上有說是調用了C 語言的 _exit() 函數(未考證)
3. os.kill()
一般用于直接Kill掉進程,但是只能在UNIX平臺上有效。
基本原理:該函數是模擬傳統的UNIX函數發信號給進程,其中包含兩個參數:一個是進程名,即所要接收信號的進程;一個是所要進行的操作。
到此這篇關于結束運行python的方法的文章就介紹到這了,更多相關如何結束運行python內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.py.cn/faq/python/11872.html