有时当一个条件成立的情况下,需要终止程序,可以使用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')
运行结果

本文介绍了Python中程序终止方法sys.exit()和os._exit()的使用方式及其区别。sys.exit()可用于正常及异常退出,并可在try...except...finally结构中被捕获以完成清理工作;os._exit()则更多用于子进程的退出。通过实例演示了如何利用这些函数控制程序流程。
1652

被折叠的 条评论
为什么被折叠?



