Python學習筆記三(文件與異常)

這章以sketch.txt爲示例,其中sketch.txt在first head Python 的官網上可以下載,見:http://python.itcarlow.ie/resources.html

利用os.chdir函數可以更改os所在的當前路徑,查看用方法os.getcwd()函數。

書裏實現的功能爲把":"改爲"said:",其中所用到的函數爲split().兩個可選參數,一個決定根據什麼分解,另外一個是這個用來分解的符號使用幾次。

最初的代碼如下:

data = open('sketch.txt')
for each_line in data:
    (role,role_spoken) = each_line.split(':',1)
    print role +" said: "+role_spoken

使用兩個可選參數,可以避免如一句話如果有兩個冒號出現的錯誤,但是如果某一行沒有冒號,則這個代碼執行起來又會出錯。和很多程序語言一樣,Python也有處理異常的機制。這樣的機制和java類似。try/except機制。

以此爲例:

在txt的文件中,有幾行代碼是沒有':'的。這樣針對split()方法調用的時候一定會出錯,這樣,如果減少複雜度,那麼我們可以針對這個異常做出處理:

try:
#你的代碼(可能導致一個運行時錯誤)
except:
#錯誤恢復代碼

針對以上的程序,那麼這個程序可改善爲:

data = open('sketch.txt')
for each_line in data:
    try:
        (role,role_spoken) = each_line.split(':',1)
        print role +" said: "+role_spoken
    except:
        pass   


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章