檔案和異常

2022-09-20 04:45:13 字數 1932 閱讀 7474

檔案

基本操作:

f = open(file_name, pattern)

data = f.read()

f.close()

file_name:檔案路徑+檔名

pattern:開啟方式

開啟方式:  

r 唯讀模式(預設)

w 只寫模式(不可讀,不存在則建立,存在則刪除原內容)

a 追加模式(可讀,不存在則建立,存在則值追加內容)

「+」可同時讀寫某個檔案

r+ 可讀寫檔案(讀,寫,追加)

w+ 寫讀

a+ 同a

「u」讀寫時,可將\r\n\r\n自動換成\n

rur+u

"b"表示處理二進位制檔案

rbwb

ab為防止忘記關閉檔案,可使用:

with open(file_name, pattern) as f:

data = f.read()              

異常異常種類:

attributeerror 試圖訪問乙個物件沒有的屬性,比如foo.x,但是foo沒有屬性x

ioerror 輸入/輸出異常;基本上是無法開啟檔案

importerror 無法引入模組或包;基本上是路徑問題或名稱錯誤

indentationerror 語法錯誤(的子類) ;**沒有正確對齊

indexerror 下標索引超出序列邊界,比如當x只有三個元素,卻試圖訪問x[5]

keyerror 試圖訪問字典裡不存在的鍵

keyboardinterrupt ctrl+c被按下

nameerror 使用乙個還未被賦予物件的變數

syntaxerror python**非法,**不能編譯(個人認為這是語法錯誤,寫錯了)

typeerror 傳入物件型別與要求的不符合

unboundlocalerror 試圖訪問乙個還未被設定的區域性變數,基本上是由於另有乙個同名的全域性變數,導致你以為正在訪問它

valueerror 傳入乙個呼叫者不期望的值,即使值的型別是正確的

異常格式:

try:

...except error_type, e:

...無異常執行try,出現異常執行except

萬能異常:

try:

...except exception, e:

...多個異常:

try:

int(s1)

except keyerror,e:

print '鍵錯誤'

except indexerror,e:

print '索引錯誤'

except exception, e:

print '錯誤'

異常其他結構

try:

# 主**塊

pass

except keyerror,e:

# 異常時,執行該塊

pass

else:

# 主**塊執行完,執行該塊

pass

finally:

# 無論異常與否,最終執行該塊

pass

主動出發異常

try:

raise exception('錯誤了。。。')

except exception,e:

print e

自定義異常

class wupeiqiexception(exception):

def __init__(self, msg):

self.message = msg

def __str__(self):

return self.message

try:

raise wupeiqiexception('我的異常')

except wupeiqiexception,e:

print e

Python 檔案和異常

關鍵字with 在不再需要訪問檔案後將其關閉。我們使用方法read 讀取這個檔案的全部內容,並將其作為乙個長長的字串儲存在變數contents中.還可以將檔案在計算機中的準確位置告訴python,這樣就不用關心當前執行的程式儲存在什麼地方了。這稱為絕對檔案路徑 file path c users e...

Python檔案和異常

程式和執行時資料是在記憶體中駐留的,涉及到資料交換的地方,通常是磁碟 網路等,因此需要io介面。io程式設計中,stream 流 是乙個很重要的概念,可以把流想象成乙個水管,資料就是水管裡的水,但是只能單向流動。input stream就是資料從外面 磁碟 網路 流進記憶體,output strea...

Python 檔案和異常

usr bin env python with open pi as file object contents file object.read print contents 3.1415926 5212533 2324255 1 逐行讀取 usr bin env python filename p...