您的位置:首頁>正文

python學習筆記(2)

一、模組和包

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:得到位置指標的當前位置, 相對於檔開頭的位移量。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示