歡迎您光臨本站 註冊首頁

結束運行python的方法

←手機掃碼閱讀     f2h0b53ohn @ 2020-06-17 , reply:0

有時當一個條件成立的情況下,需要終止程序,可以使用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')

 

知識點擴展:

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函數發信號給進程,其中包含兩個參數:一個是進程名,即所要接收信號的進程;一個是所要進行的操作。



[f2h0b53ohn ] 結束運行python的方法已經有271次圍觀

http://coctec.com/docs/python/shhow-post-238846.html