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

re模塊:

一.常用正則表達式符號和語法:
'.' 匹配所有字符串,除\n以外
‘-’ 表示範圍[0-9]
'*' 匹配前面的子表達式零次或多次。要匹配 * 字符,請使用 \*。
'+' 匹配前面的子表達式一次或多次。要匹配 + 字符,請使用 \+
'^' 匹配字符串開頭
‘$’ 匹配字符串結尾 re
'\' 轉義字符, 使後一個字符改變原來的意思,如果字符串中有字符*需要匹配,可以\*或者字符集[*] re.findall(r'3\*','3*ds')結['3*']
'*' 匹配前面的字符0次或多次 re.findall("ab*","cabc3abcbbac")結果:['ab', 'ab', 'a']
‘?’ 匹配前一個字符串0次或1次 re.findall('ab?','abcabcabcadf')結果['ab', 'ab', 'ab', 'a']
'{m}' 匹配前一個字符m次 re.findall('cb{1}','bchbchcbfbcbb')結果['cb', 'cb']
'{n,m}' 匹配前一個字符n到m次 re.findall('cb{2,3}','bchbchcbfbcbb')結果['cbb']
'\d' 匹配數字,等於[0-9] re.findall('\d','電話:10086')結果['1', '0', '0', '8', '6']
'\D' 匹配非數字,等於[^0-9] re.findall('\D','電話:10086')結果['電', '話', ':']
'\w' 匹配字母和數字,等於[A-Za-z0-9] re.findall('\w','alex123,./;;;')結果['a', 'l', 'e', 'x', '1', '2', '3']
'\W' 匹配非英文字母和數字,等於[^A-Za-z0-9] re.findall('\W','alex123,./;;;')結果[',', '.', '/', ';', ';', ';']
'\s' 匹配空白字符 re.findall('\s','3*ds \t\n')結果[' ', '\t', '\n']
'\S' 匹配非空白字符 re.findall('\s','3*ds \t\n')結果['3', '*', 'd', 's']
'\A' 匹配字符串開頭
'\Z' 匹配字符串結尾
'\b' 匹配單詞的詞首和詞尾,單詞被定義爲一個字母數字序列,因此詞尾是用空白符或非字母數字符來表示的
'\B' 與\b相反,只在當前位置不在單詞邊界時匹配
'(?P<name>...)' 分組,除了原有編號外在指定一個額外的別名 re.search("(?P<province>[0-9]{4})(?P<city>[0-9]{2})(?P<birthday>[0-9]{8})","371481199306143242").groupdict("city") 結果{'province': '3714', 'city': '81', 'birthday': '19930614'}
[] 是定義匹配的字符範圍。比如 [a-zA-Z0-9] 表示相應位置的字符要匹配英文字符和數字。[\s*]表示空格或者*號。



二.常用的re函數:
方法/屬性 作用
re.match(pattern, string, flags=0) 從字符串的起始位置匹配,如果起始位置匹配不成功的話,match()就返回none
re.search(pattern, string, flags=0) 掃描整個字符串並返回第一個成功的匹配
re.findall(pattern, string, flags=0) 找到RE匹配的所有字符串,並把他們作爲一個列表返回
re.finditer(pattern, string, flags=0) 找到RE匹配的所有字符串,並把他們作爲一個迭代器返回
re.sub(pattern, repl, string, count=0, flags=0) 替換匹配到的字符串

math模塊

ceil:取大於等於x的最小的整數值,如果x是一個整數,則返回x
copysign:把y的正負號加到x前面,可以使用0
cos:求x的餘弦,x必須是弧度
degrees:把x從弧度轉換成角度
e:表示一個常量
exp:返回math.e,也就是2.71828的x次方
expm1:返回math.e的x(其值爲2.71828)次方的值減1
fabs:返回x的絕對值
factorial:取x的階乘的值
floor:取小於等於x的最大的整數值,如果x是一個整數,則返回自身
fmod:得到x/y的餘數,其值是一個浮點數
frexp:返回一個元組(m,e),其計算方式爲:x分別除0.5和1,得到一個值的範圍
fsum:對迭代器裏的每個元素進行求和操作
gcd:返回x和y的最大公約數
hypot:如果x是不是無窮大的數字,則返回True,否則返回False
isfinite:如果x是正無窮大或負無窮大,則返回True,否則返回False
isinf:如果x是正無窮大或負無窮大,則返回True,否則返回False
isnan:如果x不是數字True,否則返回False
ldexp:返回x*(2**i)的值
log:返回x的自然對數,默認以e爲基數,base參數給定時,將x的對數返回給定的base,計算式爲:log(x)/log(base)
log10:返回x的以10爲底的對數
log1p:返回x+1的自然對數(基數爲e)的值
log2:返回x的基2對數
modf:返回由x的小數部分和整數部分組成的元組
pi:數字常量,圓周率
pow:返回x的y次方,即x**y
radians:把角度x轉換成弧度
sin:求x(x爲弧度)的正弦值
sqrt:求x的平方根
tan:返回x(x爲弧度)的正切值
trunc:返回x的整數部分
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章