python的兩種退出方式
概述
python的程式有兩種退出方式:os._exit(), sys.exit()。本文介紹這兩種方式的區別和選擇。
os._exit()會直接將python程式終止,之後的所有程式碼都不會繼續執行。
sys.exit()會引發一個異常:SystemExit,如果這個異常沒有被捕獲,那麼python直譯器將會退出。如果有捕獲此異常的程式碼,那麼這些程式碼還是會執行。
舉例說明
1 import os 2 3 try: 4 os._exit(0) 5 except: 6 print 'die.'
此處不會打出"going to die"
import sys try: sys.exit(0) except: print 'die' finally: print 'cleanup'
輸出:
die
cleanup
區別
綜上,sys.exit()的退出比較優雅,呼叫後會引發SystemExit異常,可以捕獲此異常做清理工作。os._exit()直接將python直譯器退出,餘下的語句不會執行。
一般情況下使用sys.exit()即可,一般在fork出來的子程序中使用os._exit()
參考:
相關推薦
python的兩種退出方式
概述 python的程式有兩種退出方式:os._exit(), sys.exit()。本文介紹這兩種方式的區別和選擇。 os._exit()會直接將python程式終止,之後的所有程式碼都不會繼續執行。 sys.exit()會引發一個異常:SystemExit,如果這個異常沒有被捕獲,那麼python直譯器
hadoop streaming reduce端join的python兩種實現方式
實現student和course資料表的join操作,以學生編號(sno)為連線欄位 測試資料 student.txt檔案 #以一個空格分隔 #學生編號 姓名 #sno sname 01 lily 02 tom 03 jac
操作系統,編程語言分類,執行python兩種方式,變量,內存管理,定義變量的三個特征
什麽 height 取代 沒有 一個 Coding 開發 軟件 簡單 操作系統 1、什麽是操作系統 操作系統位於計算機硬件與應用軟件之間 是一個協調、管理、控制計算機硬件資源與軟件資源的控制程序2、為何要有操作系統? 1、控制硬件 2、把對硬件的復雜
python兩種不同連接數據庫方式
eat conf trunc mit odi () Coding password .get python兩種不同連接數據庫方式 使用python來操作數據庫,第一時間都會想到MySQLdb這個庫,但是個人感覺還是peewee庫比較好用,寫出來的代碼更加規範、更加優美。這
棧的兩種實現方式(python實現)
棧是一種後進先出(LIFO)的資料結構,在設計演算法時有十分廣泛的應用。對棧的操作是通過將元素壓入棧(放在棧頂),或是將棧頂元素彈出,都是對棧頂元素的操作。若要實現一個高效的棧,則要考慮到這兩種
python兩種發郵件的方式smtp和outlook
smtp是直接呼叫163郵箱的smtp伺服器,需要在163郵箱中設定一下。outlook傳送就是python直接呼叫win32方式 呼叫程式outlook直接傳送郵件。 import win32com.client as win32 import xlrd outlook = win32
Python程式的幾種退出方式
對於如何結束一個Python程式或者用Python操作去結束一個程序等,Python本身給出了好幾種方法,而這些方式也存在著一些區別,對相關的幾種方法看了並實踐了下,同時也記錄下。參考:Python 核心程式設計(第二版)1. sys.exit()執行該語句會直接退出程式,這
Python的兩種執行方式
從2015年5月19日註冊部落格園,立志於要通過寫部落格的方式,記錄自己程式設計的點點滴滴,由於自己太懶,一直拖到現在,“拖延症”是病得改,今天終於寫自己第一篇部落格了,有點小激動! Python是由Guido van Rossum於1989年底發明的,1989年聖誕節期間,在阿姆斯特丹,Guido為
android開發兩種退出程式方式(killProcess,System.exit)
KillProcess: 在android中我們如果想要程式的程序結束可以這樣寫: android.os.Process.killProcess(android.os.Process.myPid(
C++ 類的兩種定義方式
命名 c++ ech += esp set with aced spa 類內定義 class Teacher { private: string _name; int _age; public: Teacher() { printf("create teche
屬性的兩種定義方式
alt obj tro tran padding pad hit object 方式 裝飾器方式:[email protected]/* */ 經典類,[email protected]/* */(如上一步實例) # ###############
[轉]Web APi之認證(Authentication)兩種實現方式【二】(十三)
用戶數 ted das 客戶 元素 基礎 目標 開始 net 本文轉自:http://www.cnblogs.com/CreateMyself/p/4857799.html 前言 上一節我們詳細講解了認證及其基本信息,這一節我們通過兩種不同方式來實現認證,並且分析如
xml的兩種解析方式
name 字符 system main ner exce pub void ref xml解析是日常項目中用到比較多的技能。不管是配置參數或者數據都能夠保存在xml文件裏。同一時候也能夠將xml作為數據傳輸的一種格式。本文將介紹兩種基本解析方式:xml字符串解析和xml
記錄下log4j的兩種配置方式
ole num div resolv ade true uil data- range XML文件配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configur
Shell簡介:什麽是Shell,Shell命令的兩種執行方式
shell linuxShell本身是一個用C語言編寫的程序,它是用戶使用Unix/Linux的橋梁,用戶的大部分工作都是通過Shell完成的。Shell既是一種命令語言,又是一種程序設計語言。作為命令語言,它交互式地解釋和執行用戶輸入的命令;作為程序設計語言,它定義了各種變量和參數,並提供了許多在高級語言中
JFreeChart與AJAX+JSON+ECharts兩種處理方式生成熱詞統計可視化圖表
線型 static 後臺 標註 png tip 開源工具 grid 讀取 本篇的思想:對HDFS獲取的數據進行兩種不同的可視化圖表處理方式。第一種JFreeChar可視化處理生成圖片文件查看。第二種AJAX+JSON+ECharts實現可視化圖表,並呈現於瀏覽器上。
C++ 11 可變模板參數的兩種展開方式
模板 span tar nbsp 兩種 logs args clu return #include <iostream> #include <string> #include <stdint.h> template<typena
多線程兩種實現方式的區別
http [] tick 避免 main 單繼承 style 區別 tar 請解釋Thread類與Runnable接口實現多線程的區別?(請解釋多線程兩種實現方式的區別?) 1. Thread類時Runnable接口的子類,使用Runnable接口實現多線程可以避免單繼承局
JPA 派生標識符的兩種實現方式
string column public tid man pri one embed page 方法一:@Entity@IdClass(ModuleId.class)public class Module { @Id private Integer index;
冒泡排序--兩種優化方式
元素 下標 [0 void 臨時變量 [] cnblogs 數組下標 blog 原始版本 void bubble_sort(int arr[],int n){ int tmp; for (int i = 0; i < n; ++i)