一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 詳解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和區別

詳解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和區別

2020-11-20 00:22腳本之家 Python

這篇文章主要介紹了詳解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和區別的相關資料,需要的朋友可以參考下

詳解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和區別

os._exit() 和 sys.exit()

os._exit() vs sys.exit()

概述

Python的程序有兩中退出方式:os._exit(), sys.exit()。本文介紹這兩種方式的區別和選擇。

os._exit()會直接將python程序終止,之后的所有代碼都不會繼續執行。

sys.exit()會引發一個異常:SystemExit,如果這個異常沒有被捕獲,那么python解釋器將會退出。如果有捕獲此異常的代碼,那么這些代碼還是會執行。捕獲這個異常可以做一些額外的清理工作。0為正常退出,其他數值(1-127)為不正常,可拋異常事件供捕獲。

舉例說明

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/local/bin/env python
import os, sys
 
try:
  sys.exit(0)
except:
  print('die')
finally:
  print('cleanup')
 
try:
  os._exit(0)
except:
  print('die')
print('os.exit')#不打印直接退出了

輸出:

?
1
2
die
cleanup

區別

綜上,sys.exit()的退出比較優雅,調用后會引發SystemExit異常,可以捕獲此異常做清理工作。os._exit()直接將python解釋器退出,余下的語句不會執行。

一般情況下使用sys.exit()即可,一般在fork出來的子進程中使用os._exit()

一般來說os._exit() 用于在線程中退出

sys.exit() 用于在主線程中退出。

exit() 跟 C 語言等其他語言的 exit() 應該是一樣的。
os._exit() 調用 C 語言的 _exit() 函數。

builtin.exit 是一個 Quitter 對象,這個對象的 call 方法會拋出一個 SystemExit 異常。

exit(0)和exit(1)

exit(0):無錯誤退出
exit(1):有錯誤退出
退出代碼是告訴解釋器的(或操作系統)

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品毛片高清在线完整版 | 成年男女免费视频网站 | 美女的隐私脱裤子无遮挡 | 99久久免费国产香蕉麻豆 | 青青草原网 | 欧美男同videos | 久久理论片 | yellow视频在线观看免费 | 国产自产在线 | 欧美成人aaaa免费高清 | 亚洲天堂99 | 为什么丈夫插我我却喜欢被打着插 | 日本性爱 | 羞羞私人影院可以直接免费观影吗 | 91香蕉小视频 | 骚b小说| 牛牛在线观看 | 国产91在线九色 | 窝窝色资源站 | 男人机机桶女人 | 精品久久久久久久高清 | 母性本能 | 国产肥女bbwbbw | 紧身裙女教师波多野结衣 | 色哟哟哟| 女人爽到喷水的视频免费看 | 成年人视频在线 | 欧美乱子伦xxxx12在线 | 欧美二区三区 | 国产理论片在线观看 | japanesen女同 | 欧美色在线 | 欧美亚洲国产精品久久久 | 亚洲成年人在线观看 | 丁香成人社| 日本bbwbbw| 深夜福利在线播放 | b站免费网站入口 | 女人全身裸露无遮挡免费观看 | 99热久久这里只精品国产www | 欧美老肥妇bbb |