# 迭代固定次數
range(start,stop,step)
可產生一串數字,範圍從0到(number-1),例如range(0,10,2)會print出0,2,4,6,8。可用於for迴圈固定次數。step為差值。----------
# 開/關文件
file = open('filename','mode')
mode有'r'讀取、'w'寫入、'a'附加、'b'二進位、't'文字模式。當使用'w'模式時,如果檔案不在,會在預設路徑上建立,如果檔案在,則原本內容會被清除。若要開啟有寫和讀的功能,使用'w+'模式。
file.close()
對文件進行寫模式時之後,關閉的動作很重要,可確保你的資料有被寫入並節省記憶體空間。
----------
import os
從標準程式庫匯入os模組。os.getcwd()
顯示當前的工作的目錄。os.chdir('path')
切換至路徑path。file.read()
讀取整個文件。file.readline()
讀取文件的一列資料。讀取比.readlines()慢,但內存用的少。file.readlines()
將文件讀取成一個行的列表,可用for迴圈進行處理。file.seek(0)
返回文件開頭處。----------
# 切開字串
string.split(split characters,maxsplit)
以分割字元做為切割點分割字串,maxsplit引數為最大分割數,分割字元可以為連續分割字串。
# 移除字元
string.strip(chars)
在字串裡移除字元。
# 尋找字元
string.find(character,start,end)
在字串裡從start位置到end位置找到要找的字元並回傳找到第一個字元的位置,如果沒有始末點則默認為整個字串。----------
# exception handing 例外處理
try :
# may occur error code.
except :
# when an exception occurs disposal.
# finally suite
finally :
code must run.
# find specific mistakes (I) 找出特定錯誤
try :
..........
except ___ERROR as name :
print ('file error', + str(err))
#用str是避免發生TypeERROR,因為name為例外物件的識別字。
finally :
Clean-up Action.
# find specific mistakes (II)
try :
with open('filename','mode') as identifer
............
#with陳述句為context management protocol。
except ___ERROR as name :
print ('file error', + str(err))
# save object 儲存物件
import pickle# when an exception occurs disposal.
例外處理會讓錯誤發生,並讓程式碼繼續執行,可以專注於程式碼需要做的事上。缺點是容易忽略掉例外物件IOERROR或ValueERROR等錯誤,這些錯誤不先加以解決往後容易造成程式碼難以處理,所以在except後面加上這些錯誤型態,並讓你知道錯的內容是什麼。
# finally suite
finally :
code must run.
當你有不論發生什麼錯誤時都必須執行的程式碼時,可將該程式碼放入finally suite並加入倒try的陳述句。把關閉程式的程式碼放入finally suite裡可以降低資料毀損率。----------
# find specific mistakes (I) 找出特定錯誤
try :
..........
except ___ERROR as name :
print ('file error', + str(err))
#用str是避免發生TypeERROR,因為name為例外物件的識別字。
finally :
Clean-up Action.
# find specific mistakes (II)
try :
with open('filename','mode') as identifer
............
#with陳述句為context management protocol。
except ___ERROR as name :
print ('file error', + str(err))
用方法(I)可以看到錯誤訊息,但是卻增加了整體程式碼的複雜度,使用方法(II)用with取代finally suite就可以不須擔心開關文件的問題,所以(II)較好,兩道with陳述句可以合併為一道陳述句並以逗號隔開。----------
# save object 儲存物件
...
with open ('filename','wb') as savefile :
pickle.dump(data,savefile)
...
with open('filename','rb') as restorefile :
list = pickle.load(restorefile)
使用pickle將資料保存在磁碟上,以便永續保存。首先先匯入模組,再用dump()保存資料在磁碟,用load()還原他,資料必須要用二位元存取的模式。
沒有留言:
張貼留言