1. 程式人生 > >python核心模組方法

python核心模組方法

********************
os模組:
os.remove() 刪除檔案
os.unlink() 刪除檔案
os.rename() 重新命名檔案
os.listdir() 列出指定目錄下所有檔案
os.chdir() 改變當前工作目錄
os.getcwd() 獲取當前檔案路徑
os.mkdir() 新建目錄
os.rmdir() 刪除空目錄(刪除非空目錄, 使用shutil.rmtree())
os.makedirs() 建立多級目錄
os.removedirs() 刪除多級目錄
os.stat(file) 獲取檔案屬性
os.chmod(file) 修改檔案許可權
os.utime(file) 修改檔案時間戳
os.name(file) 獲取作業系統標識
os.system() 執行作業系統命令
os.execvp() 啟動一個新程序
os.fork() 獲取父程序ID,在子程序返回中返回0
os.execvp() 執行外部程式指令碼(Uinx)
os.spawn() 執行外部程式指令碼(Windows)
os.access(path, mode) 判斷檔案許可權(詳細參考cnblogs)
os.wait() 暫時未知
os.path模組:
os.path.split(filename) 將檔案路徑和檔名分割(會將最後一個目錄作為檔名而分離)
os.path.splitext(filename) 將檔案路徑和副檔名分割成一個元組
os.path.dirname(filename) 返回檔案路徑的目錄部分
os.path.basename(filename) 返回檔案路徑的檔名部分
os.path.join(dirname,basename) 將檔案路徑和檔名湊成完整檔案路徑
os.path.abspath(name) 獲得絕對路徑
os.path.splitunc(path) 把路徑分割為掛載點和檔名
os.path.normpath(path) 規範path字串形式
os.path.exists() 判斷檔案或目錄是否存在
os.path.isabs() 如果path是絕對路徑,返回True
os.path.realpath(path) #返回path的真實路徑
os.path.relpath(path[, start]) #從start開始計算相對路徑
os.path.normcase(path) #轉換path的大小寫和斜槓
os.path.isdir() 判斷name是不是一個目錄,name不是目錄就返回false
os.path.isfile() 判斷name是不是一個檔案,不存在返回false
os.path.islink() 判斷檔案是否連線檔案,返回boolean
os.path.ismount() 指定路徑是否存在且為一個掛載點,返回boolean
os.path.samefile() 是否相同路徑的檔案,返回boolean
os.path.getatime() 返回最近訪問時間 浮點型
os.path.getmtime() 返回上一次修改時間 浮點型
os.path.getctime() 返回檔案建立時間 浮點型
os.path.getsize() 返回檔案大小 位元組單位
os.path.commonprefix(list) #返回list(多個路徑)中,所有path共有的最長的路徑
os.path.lexists #路徑存在則返回True,路徑損壞也返回True
os.path.expanduser(path) #把path中包含的"~"和"~user"轉換成使用者目錄
os.path.expandvars(path) #根據環境變數的值替換path中包含的”$name”和”${name}”
os.path.sameopenfile(fp1, fp2) #判斷fp1和fp2是否指向同一檔案
os.path.samestat(stat1, stat2) #判斷stat tuple stat1和stat2是否指向同一個檔案
os.path.splitdrive(path) #一般用在windows下,返回驅動器名和路徑組成的元組
os.path.walk(path, visit, arg) #遍歷path,給每個path執行一個函式詳細見手冊
os.path.supports_unicode_filenames() 設定是否支援unicode路徑名
stat模組:
描述os.stat()返回的檔案屬性列表中各值的意義
fileStats = os.stat(path) 獲取到的檔案屬性列表
fileStats[stat.ST_MODE] 獲取檔案的模式
fileStats[stat.ST_SIZE] 檔案大小
fileStats[stat.ST_MTIME] 檔案最後修改時間
fileStats[stat.ST_ATIME] 檔案最後訪問時間
fileStats[stat.ST_CTIME] 檔案建立時間
stat.S_ISDIR(fileStats[stat.ST_MODE]) 是否目錄
stat.S_ISREG(fileStats[stat.ST_MODE]) 是否一般檔案
stat.S_ISLNK(fileStats[stat.ST_MODE]) 是否連線檔案
stat.S_ISSOCK(fileStats[stat.ST_MODE]) 是否COCK檔案
stat.S_ISFIFO(fileStats[stat.ST_MODE]) 是否命名管道
stat.S_ISBLK(fileStats[stat.ST_MODE]) 是否塊裝置
stat.S_ISCHR(fileStats[stat.ST_MODE]) 是否字元設定
sys模組:
sys.argv 命令列引數List,第一個元素是程式本身路徑
sys.path 返回模組的搜尋路徑,初始化時使用PYTHONPATH環境變數的值
sys.modules.keys() 返回所有已經匯入的模組列表
sys.modules 返回系統匯入的模組欄位,key是模組名,value是模組
sys.exc_info() 獲取當前正在處理的異常類,exc_type、exc_value、exc_traceback當前處理的異常詳細資訊
sys.exit(n) 退出程式,正常退出時exit(0)
sys.hexversion 獲取Python解釋程式的版本值,16進位制格式如:0x020403F0
sys.version 獲取Python解釋程式的版本資訊
sys.platform 返回作業系統平臺名稱
sys.stdout 標準輸出
sys.stdout.write('aaa') 標準輸出內容
sys.stdout.writelines() 無換行輸出
sys.stdin 標準輸入
sys.stdin.read() 輸入一行
sys.stderr 錯誤輸出
sys.exc_clear() 用來清除當前執行緒所出現的當前的或最近的錯誤資訊
sys.exec_prefix 返回平臺獨立的python檔案安裝的位置
sys.byteorder 本地位元組規則的指示器,big-endian平臺的值是'big',little-endian平臺的值是'little'
sys.copyright 記錄python版權相關的東西
sys.api_version 直譯器的C的API版本
sys.version_info 'final'表示最終,也有'candidate'表示候選,表示版本級別,是否有後繼的發行
sys.getdefaultencoding() 返回當前你所用的預設的字元編碼格式
sys.getfilesystemencoding() 返回將Unicode檔名轉換成系統檔名的編碼的名字
sys.builtin_module_names Python直譯器匯入的內建模組列表
sys.executable Python解釋程式路徑
sys.getwindowsversion() 獲取Windows的版本
sys.stdin.readline() 從標準輸入讀一行,sys.stdout.write("a") 螢幕輸出a
sys.setdefaultencoding(name) 用來設定當前預設的字元編碼(詳細使用參考文件)
sys.displayhook(value) 如果value非空,這個函式會把他輸出到sys.stdout(詳細使用參考文件)

datetime,date,time模組:
datetime.date.today() 本地日期物件,(用str函式可得到它的字面表示(2014-03-24))
datetime.date.isoformat(obj) 當前[年-月-日]字串表示(2014-03-24)
datetime.date.fromtimestamp() 返回一個日期物件,引數是時間戳,返回 [年-月-日]
datetime.date.weekday(obj) 返回一個日期物件的星期數,週一是0
datetime.date.isoweekday(obj) 返回一個日期物件的星期數,週一是1
datetime.date.isocalendar(obj) 把日期物件返回一個帶有年月日的元組
datetime物件:
datetime.datetime.today() 返回一個包含本地時間(含微秒數)的datetime物件 2014-03-24 23:31:50.419000
datetime.datetime.now([tz]) 返回指定時區的datetime物件 2014-03-24 23:31:50.419000
datetime.datetime.utcnow() 返回一個零時區的datetime物件
datetime.fromtimestamp(timestamp[,tz]) 按時間戳返回一個datetime物件,可指定時區,可用於strftime轉換為日期表示
datetime.utcfromtimestamp(timestamp) 按時間戳返回一個UTC-datetime物件
datetime.datetime.strptime('2014-03-16 12:21:21',"%Y-%m-%d %H:%M:%S") 將字串轉為datetime物件
datetime.datetime.strftime(datetime.datetime.now(), '%Y%m%d %H%M%S') 將datetime物件轉換為str表示形式
datetime.date.today().timetuple() 轉換為時間戳datetime元組物件,可用於轉換時間戳
datetime.datetime.now().timetuple()
time.mktime(timetupleobj) 將datetime元組物件轉為時間戳
time.time() 當前時間戳
time.localtime
time.gmtime


hashlib,md5模組:
hashlib.md5('md5_str').hexdigest() 對指定字串md5加密
md5.md5('md5_str').hexdigest() 對指定字串md5加密

random模組:
random.random() 產生0-1的隨機浮點數
random.uniform(a, b) 產生指定範圍內的隨機浮點數
random.randint(a, b) 產生指定範圍內的隨機整數
random.randrange([start], stop[, step]) 從一個指定步長的集合中產生隨機數
random.choice(sequence) 從序列中產生一個隨機數
random.shuffle(x[, random]) 將一個列表中的元素打亂
random.sample(sequence, k) 從序列中隨機獲取指定長度的片斷

types模組:
儲存了所有資料型別名稱。
if type('1111') == types.StringType:
MySQLdb模組:
MySQLdb.get_client_info() 獲取API版本
MySQLdb.Binary('string') 轉為二進位制資料形式
MySQLdb.escape_string('str') 針對mysql的字元轉義函式
MySQLdb.DateFromTicks(1395842548) 把時間戳轉為datetime.date物件例項
MySQLdb.TimestampFromTicks(1395842548) 把時間戳轉為datetime.datetime物件例項
MySQLdb.string_literal('str') 字元轉義
MySQLdb.cursor()遊標物件上的方法:《python核心程式設計》P624

atexit模組:
atexit.register(fun,args,args2..) 註冊函式func,在解析器退出前呼叫該函式


string模組:
str.capitalize() 把字串的第一個字元大寫
str.center(width) 返回一個原字串居中,並使用空格填充到width長度的新字串
str.ljust(width) 返回一個原字串左對齊,用空格填充到指定長度的新字串
str.rjust(width) 返回一個原字串右對齊,用空格填充到指定長度的新字串
str.zfill(width) 返回字串右對齊,前面用0填充到指定長度的新字串
str.count(str,[beg,len]) 返回子字串在原字串出現次數,beg,len是範圍
str.decode(encodeing[,replace]) 解碼string,出錯引發ValueError異常
str.encode(encodeing[,replace]) 解碼string
str.endswith(substr[,beg,end]) 字串是否以substr結束,beg,end是範圍
str.startswith(substr[,beg,end]) 字串是否以substr開頭,beg,end是範圍
str.expandtabs(tabsize = 8) 把字串的tab轉為空格,預設為8個
str.find(str,[stat,end]) 查詢子字串在字串第一次出現的位置,否則返回-1
str.index(str,[beg,end]) 查詢子字串在指定字元中的位置,不存在報異常
str.isalnum() 檢查字串是否以字母和數字組成,是返回true否則False
str.isalpha() 檢查字串是否以純字母組成,是返回true,否則false
str.isdecimal() 檢查字串是否以純十進位制數字組成,返回布林值
str.isdigit() 檢查字串是否以純數字組成,返回布林值
str.islower() 檢查字串是否全是小寫,返回布林值
str.isupper() 檢查字串是否全是大寫,返回布林值
str.isnumeric() 檢查字串是否只包含數字字元,返回布林值
str.isspace() 如果str中只包含空格,則返回true,否則FALSE
str.title() 返回標題化的字串(所有單詞首字母大寫,其餘小寫)
str.istitle() 如果字串是標題化的(參見title())則返回true,否則false
str.join(seq) 以str作為連線符,將一個序列中的元素連線成字串
str.split(str='',num) 以str作為分隔符,將一個字串分隔成一個序列,num是被分隔的字串
str.splitlines(num) 以行分隔,返回各行內容作為元素的列表
str.lower() 將大寫轉為小寫
str.upper() 轉換字串的小寫為大寫
str.swapcase() 翻換字串的大小寫
str.lstrip() 去掉字元左邊的空格和回車換行符
str.rstrip() 去掉字元右邊的空格和回車換行符
str.strip() 去掉字元兩邊的空格和回車換行符
str.partition(substr) 從substr出現的第一個位置起,將str分割成一個3元組。
str.replace(str1,str2,num) 查詢str1替換成str2,num是替換次數
str.rfind(str[,beg,end]) 從右邊開始查詢子字串
str.rindex(str,[beg,end]) 從右邊開始查詢子字串位置
str.rpartition(str) 類似partition函式,不過從右邊開始查詢
str.translate(str,del='') 按str給出的錶轉換string的字元,del是要過慮的字元

urllib模組:
urllib.quote(string[,safe]) 對字串進行編碼。引數safe指定了不需要編碼的字元
urllib.unquote(string) 對字串進行解碼
urllib.quote_plus(string[,safe]) 與urllib.quote類似,但這個方法用'+'來替換' ',而quote用'%20'來代替' '
urllib.unquote_plus(string ) 對字串進行解碼
urllib.urlencode(query[,doseq]) 將dict或者包含兩個元素的元組列表轉換成url引數。
例如 字典{'name':'wklken','pwd':'123'}將被轉換為"name=wklken&pwd=123"
urllib.pathname2url(path) 將本地路徑轉換成url路徑
urllib.url2pathname(path) 將url路徑轉換成本地路徑
urllib.urlretrieve(url[,filename[,reporthook[,data]]]) 下載遠端資料到本地
filename:指定儲存到本地的路徑(若未指定該,urllib生成一個臨時檔案儲存資料)
reporthook:回撥函式,當連線上伺服器、以及相應的資料塊傳輸完畢的時候會觸發該回調
data:指post到伺服器的資料
rulrs = urllib.urlopen(url[,data[,proxies]]) 抓取網頁資訊,[data]post資料到Url,proxies設定的代理
urlrs.readline() 跟檔案物件使用一樣
urlrs.readlines() 跟檔案物件使用一樣
urlrs.fileno() 跟檔案物件使用一樣
urlrs.close() 跟檔案物件使用一樣
urlrs.info() 返回一個httplib.HTTPMessage物件,表示遠端伺服器返回的頭資訊
urlrs.getcode() 獲取請求返回狀態HTTP狀態碼
urlrs.geturl() 返回請求的URL