有時當一個條件成立的情況下,需要終止程序,可以使用sys.exit()退出程序。sys.exit()會引發一個異常
1.如果這個異常沒有被捕獲,那麼python編譯器將會退出,後面的程序將不會執行。
2.如果這個異常被捕獲(try...except...finally),捕獲這個異常可以做一些額外的清理工作,後面的程序還會繼續執行。
注:0爲正常退出,其他數值(1-127)爲不正常,可拋異常事件供捕獲。
另一種終止程序的方法os._exit()
一般情況下使用sys.exit()即可,一般在fork出來的子進程中使用os._exit()
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')
運行結果
'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}
new_col=[]
for x in c:
if x not in dic.keys():
new_col.append(x)
if new_col:
try:
print(new_col)
sys.exit(0)
except:
print('updata')
finally:
print('clear up')
print('ssss')
運行結果