標籤:read 程式碼 err font line 解譯器 參數 readlines __str__
一、模組和包
1.命名空間
有3類命名空間,分別為內建命名空間,全域命名空間,局部命名空間。內建命名空間在Python解譯器啟動時建立,全域命名空間在該模組被匯入時建立,他倆都會 一直保持到解譯器退出。局部命名空間在函數被調用時建立,返回或引發異常時刪除。
2.模組
把一組相關的名稱,函數,類或者他們的組合組織到一個檔案中。檔案是物理層上組織模組的方法。一個檔案被看做一個獨立的模組。
匯入模組:
import module1
import module2 或者
import module1,module2
當出現匯入模組失敗時,可能的原因是模組不在搜素路徑裡,從而導致了路徑搜素的失敗。
import sys
sys.path.append(‘包儲存路徑‘)
或者設定PYTHONPATH環境變數
還可以匯入指定函數或者模組。
from module import name1,name2
如果需要把指定模組的所有屬性都匯入到當前名稱空間可使用
from module import *
可使用 import Mymodule as mm 來指定局部綁定名稱。
模組匯入的特性:
1)載入時執行模組
2)一個模組無論被匯入多少次,都只會載入一次。
二、異常
1. try ...except語句
try:
<需要執行的程式碼>
except 異常類1[,異常資訊變數]:
<異常時執行的代碼>
except 異常類2[,異常資訊變數]:
<異常時執行的代碼>
2.try ...except...else語句
使用與1相似,只是try語句沒有發生異常時,程式跳過所有的except執行else子句中的代碼。
3.try ...except...finally語句
使用與1相似,無論是否發生異常,finally中的語句肯定會被執行。
4.拋出異常 raise 異常類[,異常參數]
5.自訂異常,必須繼承Exception或者BaseException
class UserInfoError(Exception):
def __init__(self,code,message):
self.code=code
self.message=message
def __str__(self):
errorJsonInfo = ‘{"code":"%d","message":"%s"}‘ %(self.code,self.message)
return errorJsonInfo
三、檔案
1.開啟,可以使用open 或者file內建函數開啟 open(filename,accessmode=‘r‘,buffering=-1),accessmode表示開啟的模式,選擇性參數為‘r’,‘w’,‘a’等。buffering表示緩衝方式,0表示不緩衝,1表示只緩衝一行資料,大於1 的表示緩衝區大小,0表示不緩衝。
例如:
file1=open(‘1.jpg‘,‘rb‘)
2.關閉 使用close()函數關閉檔案
3.讀寫
1)檔案的讀取,分別是read(),readline(),readlines()
read([size]):有一個選擇性參數size,表示讀取前size個長度的內容。參數不指定或指定負值,將讀取檔案的所有內容。
readline([size]):這個size與read函數的不同,他是指讀取指標指定行的前size個位元組的長度。
readlines():一次性讀取當前位置指標指向處後面的所有內容,函數返回的是一個每行資料群組成的一個列表。
2)寫入,使用write()函數和writelines函數
write:把一個字串寫入到檔案中
WriteLines:把列表中的字串內容寫到檔案中
3)檔案的定位
fileRef.seek(offset,startpoint=0),startpoint用0,1,2代替,0表示檔案開始,1表示當前位置,2表示檔案末尾,預設為0.offset表示以startpoint為基點,往後移動的位元組數
fileRef.tell():得到位置指標的當前位置,相對於檔案開頭的位移量。
python學習筆記(2)