檔案
基本操作:
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...