python怎樣在一行中捕獲多個異常

2021-09-20 12:40:24 字數 1179 閱讀 3406

所屬**分類: python基礎 > 異常處理

我知道你能做到:

try:

# do something that may fail

except:

# do this if anything goes wrong

你也可以這樣做:

try:

# do something that may fail

except idontlikeyouexception:

# say please

except youaretooshortexception:

# stand on a ladder

但如果我想在兩個不同的異常中做同樣的事情,我現在能想到的最好的就是這樣做:

try:

# do something that may fail

except idontlikeyouexception:

# say please

except youarebeingmeanexception:

# say please

有什麼辦法我可以做這樣的事情(因為兩個異常的結果都是say please):

try:

# do something that may fail

except idontlikeyouexception, youarebeingmeanexception:

# say please

實際上這不起作用,因為python把它當做以下語法:

try:

# do something that may fail

except exception, e:

# say please

因此,在一行中捕獲多個異常並沒有實現。

有沒有辦法做到這一點?

except (idontlikeyouexception, youarebeingmeanexception) as e:

pass

或者(僅適用於python 2):

except (idontlikeyouexception, youarebeingmeanexception), e:

pass

使用逗號將變數與變數分開仍然可以在python 2.6和2.7中使用,但在python 3中不起作用; 現在你應該使用as。

Shell Linux 一行 多命令

要實現在一行執行多條linux命令,分三種情況 1 舉例 lpr tmp t2 rm tmp t2 第2條命令只有在第1條命令成功執行之後才執行。根據命令產生的退出碼判斷是否執行成功 0成功,非0失敗 2 舉例 cp tmp t2 tmp t2.bak rm tmp t2 只有 前的命令 cp tm...

python讀取csv檔案(一行一行的讀取)

在python裡面,讀取或寫入csv檔案時,首先要import csv這個庫,然後利用這個庫提供的方法進行對檔案的讀寫。1 獲取每一行 讀取csv檔案,用的是csv.reader 這個方法。返回結果是乙個 csv.reader的物件,我們可以對這個物件進行遍歷,輸出每一行,某一行,或某一列。如下 1...

Oracle合併多列到一行wm concat

oracle合併多列到一行wm concat oracle在group by後合併表的某一列,以逗號隔開 或者合併整個表中的一列 www.2cto.com 函式為wm concat 用法如下 把表中一列合併成一行 select wm concat songid from album song 把結果...