1. 程式人生 > 程式設計 >結束執行python的方法

結束執行python的方法

有時當一個條件成立的情況下,需要終止程式,可以使用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,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,表示異常退出。

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內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!