os模塊:
os.remove() 刪除文件
os.unlink() 刪除文件
os.rename() 重命名文件
os.listdir() 列出指定目錄下所有文件
os.chdir() 改變當(dāng)前工作目錄
os.getcwd() 獲取當(dāng)前文件路徑
os.mkdir() 新建目錄
os.rmdir() 刪除空目錄(刪除非空目錄, 使用shutil.rmtree())
os.makedirs() 創(chuàng)建多級(jí)目錄
os.removedirs() 刪除多級(jí)目錄
os.stat(file) 獲取文件屬性
os.chmod(file) 修改文件權(quán)限
os.utime(file) 修改文件時(shí)間戳
os.name(file) 獲取操作系統(tǒng)標(biāo)識(shí)
os.system() 執(zhí)行操作系統(tǒng)命令
os.execvp() 啟動(dòng)一個(gè)新進(jìn)程
os.fork() 獲取父進(jìn)程ID颤介,在子進(jìn)程返回中返回0
os.execvp() 執(zhí)行外部程序腳本(Uinx)
os.spawn() 執(zhí)行外部程序腳本(Windows)
os.access(path, mode) 判斷文件權(quán)限(詳細(xì)參考cnblogs)
os.wait() 暫時(shí)未知
os.path模塊:
os.path.split(filename) 將文件路徑和文件名分割(會(huì)將最后一個(gè)目錄作為文件名而分離)
os.path.splitext(filename) 將文件路徑和文件擴(kuò)展名分割成一個(gè)元組
os.path.dirname(filename) 返回文件路徑的目錄部分
os.path.basename(filename) 返回文件路徑的文件名部分
os.path.join(dirname,basename) 將文件路徑和文件名湊成完整文件路徑
os.path.abspath(name) 獲得絕對(duì)路徑
os.path.splitunc(path) 把路徑分割為掛載點(diǎn)和文件名
os.path.normpath(path) 規(guī)范path字符串形式
os.path.exists() 判斷文件或目錄是否存在
os.path.isabs() 如果path是絕對(duì)路徑梳星,返回True
os.path.realpath(path) #返回path的真實(shí)路徑
os.path.relpath(path[, start]) #從start開(kāi)始計(jì)算相對(duì)路徑
os.path.normcase(path) #轉(zhuǎn)換path的大小寫(xiě)和斜杠
os.path.isdir() 判斷name是不是一個(gè)目錄,name不是目錄就返回false
os.path.isfile() 判斷name是不是一個(gè)文件滚朵,不存在返回false
os.path.islink() 判斷文件是否連接文件,返回boolean
os.path.ismount() 指定路徑是否存在且為一個(gè)掛載點(diǎn)冤灾,返回boolean
os.path.samefile() 是否相同路徑的文件,返回boolean
os.path.getatime() 返回最近訪問(wèn)時(shí)間 浮點(diǎn)型
os.path.getmtime() 返回上一次修改時(shí)間 浮點(diǎn)型
os.path.getctime() 返回文件創(chuàng)建時(shí)間 浮點(diǎn)型
os.path.getsize() 返回文件大小 字節(jié)單位
os.path.commonprefix(list) #返回list(多個(gè)路徑)中辕近,所有path共有的最長(zhǎng)的路徑
os.path.lexists #路徑存在則返回True,路徑損壞也返回True
os.path.expanduser(path) #把path中包含的”~”和”~user”轉(zhuǎn)換成用戶目錄
os.path.expandvars(path) #根據(jù)環(huán)境變量的值替換path中包含的”$name”和”${name}”
os.path.sameopenfile(fp1, fp2) #判斷fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2) #判斷stat tuple stat1和stat2是否指向同一個(gè)文件
os.path.splitdrive(path) #一般用在windows下韵吨,返回驅(qū)動(dòng)器名和路徑組成的元組
os.path.walk(path, visit, arg) #遍歷path,給每個(gè)path執(zhí)行一個(gè)函數(shù)詳細(xì)見(jiàn)手冊(cè)
os.path.supports_unicode_filenames() 設(shè)置是否支持unicode路徑名
stat模塊:
描述os.stat()返回的文件屬性列表中各值的意義
fileStats = os.stat(path) 獲取到的文件屬性列表
fileStats[stat.ST_MODE] 獲取文件的模式
fileStats[stat.ST_SIZE] 文件大小
fileStats[stat.ST_MTIME] 文件最后修改時(shí)間
fileStats[stat.ST_ATIME] 文件最后訪問(wèn)時(shí)間
fileStats[stat.ST_CTIME] 文件創(chuàng)建時(shí)間
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]) 是否塊設(shè)備
stat.S_ISCHR(fileStats[stat.ST_MODE]) 是否字符設(shè)置
sys模塊:
sys.argv 命令行參數(shù)List移宅,第一個(gè)元素是程序本身路徑
sys.path 返回模塊的搜索路徑归粉,初始化時(shí)使用PYTHONPATH環(huán)境變量的值
sys.modules.keys() 返回所有已經(jīng)導(dǎo)入的模塊列表
sys.modules 返回系統(tǒng)導(dǎo)入的模塊字段,key是模塊名漏峰,value是模塊
sys.exc_info() 獲取當(dāng)前正在處理的異常類(lèi),exc_type糠悼、exc_value、exc_traceback當(dāng)前處理的異常詳細(xì)信息
sys.exit(n) 退出程序浅乔,正常退出時(shí)exit(0)
sys.hexversion 獲取Python解釋程序的版本值倔喂,16進(jìn)制格式如:0x020403F0
sys.version 獲取Python解釋程序的版本信息
sys.platform 返回操作系統(tǒng)平臺(tái)名稱
sys.stdout 標(biāo)準(zhǔn)輸出
sys.stdout.write(‘a(chǎn)aa‘) 標(biāo)準(zhǔn)輸出內(nèi)容
sys.stdout.writelines() 無(wú)換行輸出
sys.stdin 標(biāo)準(zhǔn)輸入
sys.stdin.read() 輸入一行
sys.stderr 錯(cuò)誤輸出
sys.exc_clear() 用來(lái)清除當(dāng)前線程所出現(xiàn)的當(dāng)前的或最近的錯(cuò)誤信息
sys.exec_prefix 返回平臺(tái)獨(dú)立的python文件安裝的位置
sys.byteorder 本地字節(jié)規(guī)則的指示器,big-endian平臺(tái)的值是‘big‘,little-endian平臺(tái)的值是‘little‘
sys.copyright 記錄python版權(quán)相關(guān)的東西
sys.api_version 解釋器的C的API版本
sys.version_info ‘final‘表示最終,也有‘candidate‘表示候選靖苇,表示版本級(jí)別席噩,是否有后繼的發(fā)行
sys.getdefaultencoding() 返回當(dāng)前你所用的默認(rèn)的字符編碼格式
sys.getfilesystemencoding() 返回將Unicode文件名轉(zhuǎn)換成系統(tǒng)文件名的編碼的名字
sys.builtin_module_names Python解釋器導(dǎo)入的內(nèi)建模塊列表
sys.executable Python解釋程序路徑
sys.getwindowsversion() 獲取Windows的版本
sys.stdin.readline() 從標(biāo)準(zhǔn)輸入讀一行,sys.stdout.write(“a”) 屏幕輸出a
sys.setdefaultencoding(name) 用來(lái)設(shè)置當(dāng)前默認(rèn)的字符編碼(詳細(xì)使用參考文檔)
sys.displayhook(value) 如果value非空贤壁,這個(gè)函數(shù)會(huì)把他輸出到sys.stdout(詳細(xì)使用參考文檔)
datetime,date,time模塊:
datetime.date.today() 本地日期對(duì)象,(用str函數(shù)可得到它的字面表示(2014-03-24))
datetime.date.isoformat(obj) 當(dāng)前[年-月-日]字符串表示(2014-03-24)
datetime.date.fromtimestamp() 返回一個(gè)日期對(duì)象悼枢,參數(shù)是時(shí)間戳,返回 [年-月-日]
datetime.date.weekday(obj) 返回一個(gè)日期對(duì)象的星期數(shù),周一是0
datetime.date.isoweekday(obj) 返回一個(gè)日期對(duì)象的星期數(shù),周一是1
datetime.date.isocalendar(obj) 把日期對(duì)象返回一個(gè)帶有年月日的元組
datetime對(duì)象:
datetime.datetime.today() 返回一個(gè)包含本地時(shí)間(含微秒數(shù))的datetime對(duì)象 2014-03-24 23:31:50.419000
datetime.datetime.now([tz]) 返回指定時(shí)區(qū)的datetime對(duì)象 2014-03-24 23:31:50.419000
datetime.datetime.utcnow() 返回一個(gè)零時(shí)區(qū)的datetime對(duì)象
datetime.fromtimestamp(timestamp[,tz]) 按時(shí)間戳返回一個(gè)datetime對(duì)象,可指定時(shí)區(qū),可用于strftime轉(zhuǎn)換為日期表示
datetime.utcfromtimestamp(timestamp) 按時(shí)間戳返回一個(gè)UTC-datetime對(duì)象
datetime.datetime.strptime(‘2014-03-16 12:21:21‘,”%Y-%m-%d %H:%M:%S”) 將字符串轉(zhuǎn)為datetime對(duì)象
datetime.datetime.strftime(datetime.datetime.now(), ‘%Y%m%d %H%M%S‘) 將datetime對(duì)象轉(zhuǎn)換為str表示形式
datetime.date.today().timetuple() 轉(zhuǎn)換為時(shí)間戳datetime元組對(duì)象芯砸,可用于轉(zhuǎn)換時(shí)間戳
datetime.datetime.now().timetuple()
time.mktime(timetupleobj) 將datetime元組對(duì)象轉(zhuǎn)為時(shí)間戳
time.time() 當(dāng)前時(shí)間戳
time.localtime
time.gmtime
hashlib,md5模塊:
hashlib.md5(‘md5_str‘).hexdigest() 對(duì)指定字符串md5加密
md5.md5(‘md5_str‘).hexdigest() 對(duì)指定字符串md5加密
random模塊:
random.random() 產(chǎn)生0-1的隨機(jī)浮點(diǎn)數(shù)
random.uniform(a, b) 產(chǎn)生指定范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù)
random.randint(a, b) 產(chǎn)生指定范圍內(nèi)的隨機(jī)整數(shù)
random.randrange([start], stop[, step]) 從一個(gè)指定步長(zhǎng)的集合中產(chǎn)生隨機(jī)數(shù)
random.choice(sequence) 從序列中產(chǎn)生一個(gè)隨機(jī)數(shù)
random.shuffle(x[, random]) 將一個(gè)列表中的元素打亂
random.sample(sequence, k) 從序列中隨機(jī)獲取指定長(zhǎng)度的片斷
types模塊:
保存了所有數(shù)據(jù)類(lèi)型名稱萧芙。
if type(‘1111‘) == types.StringType:
MySQLdb模塊:
MySQLdb.get_client_info() 獲取API版本
MySQLdb.Binary(‘string‘) 轉(zhuǎn)為二進(jìn)制數(shù)據(jù)形式
MySQLdb.escape_string(‘str‘) 針對(duì)mysql的字符轉(zhuǎn)義函數(shù)
MySQLdb.DateFromTicks(1395842548) 把時(shí)間戳轉(zhuǎn)為datetime.date對(duì)象實(shí)例
MySQLdb.TimestampFromTicks(1395842548) 把時(shí)間戳轉(zhuǎn)為datetime.datetime對(duì)象實(shí)例
MySQLdb.string_literal(‘str‘) 字符轉(zhuǎn)義
MySQLdb.cursor()游標(biāo)對(duì)象上的方法:《python核心編程》P624
atexit模塊:
atexit.register(fun,args,args2..) 注冊(cè)函數(shù)func,在解析器退出前調(diào)用該函數(shù)
string模塊
str.capitalize() 把字符串的第一個(gè)字符大寫(xiě)
str.center(width) 返回一個(gè)原字符串居中假丧,并使用空格填充到width長(zhǎng)度的新字符串
str.ljust(width) 返回一個(gè)原字符串左對(duì)齊双揪,用空格填充到指定長(zhǎng)度的新字符串
str.rjust(width) 返回一個(gè)原字符串右對(duì)齊,用空格填充到指定長(zhǎng)度的新字符串
str.zfill(width) 返回字符串右對(duì)齊包帚,前面用0填充到指定長(zhǎng)度的新字符串
str.count(str,[beg,len]) 返回子字符串在原字符串出現(xiàn)次數(shù)渔期,beg,len是范圍
str.decode(encodeing[,replace]) 解碼string,出錯(cuò)引發(fā)ValueError異常
str.encode(encodeing[,replace]) 解碼string
str.endswith(substr[,beg,end]) 字符串是否以substr結(jié)束,beg,end是范圍
str.startswith(substr[,beg,end]) 字符串是否以substr開(kāi)頭,beg,end是范圍
str.expandtabs(tabsize = 8) 把字符串的tab轉(zhuǎn)為空格疯趟,默認(rèn)為8個(gè)
str.find(str,[stat,end]) 查找子字符串在字符串第一次出現(xiàn)的位置拘哨,否則返回-1
str.index(str,[beg,end]) 查找子字符串在指定字符中的位置,不存在報(bào)異常
str.isalnum() 檢查字符串是否以字母和數(shù)字組成信峻,是返回true否則False
str.isalpha() 檢查字符串是否以純字母組成倦青,是返回true,否則false
str.isdecimal() 檢查字符串是否以純十進(jìn)制數(shù)字組成,返回布爾值
str.isdigit() 檢查字符串是否以純數(shù)字組成盹舞,返回布爾值
str.islower() 檢查字符串是否全是小寫(xiě)产镐,返回布爾值
str.isupper() 檢查字符串是否全是大寫(xiě),返回布爾值
str.isnumeric() 檢查字符串是否只包含數(shù)字字符踢步,返回布爾值
str.isspace() 如果str中只包含空格癣亚,則返回true,否則FALSE
str.title() 返回標(biāo)題化的字符串(所有單詞首字母大寫(xiě),其余小寫(xiě))
str.istitle() 如果字符串是標(biāo)題化的(參見(jiàn)title())則返回true,否則false
str.join(seq) 以str作為連接符获印,將一個(gè)序列中的元素連接成字符串
str.split(str=‘‘,num) 以str作為分隔符述雾,將一個(gè)字符串分隔成一個(gè)序列,num是被分隔的字符串
str.splitlines(num) 以行分隔兼丰,返回各行內(nèi)容作為元素的列表
str.lower() 將大寫(xiě)轉(zhuǎn)為小寫(xiě)
str.upper() 轉(zhuǎn)換字符串的小寫(xiě)為大寫(xiě)
str.swapcase() 翻換字符串的大小寫(xiě)
str.lstrip() 去掉字符左邊的空格和回車(chē)換行符
str.rstrip() 去掉字符右邊的空格和回車(chē)換行符
str.strip() 去掉字符兩邊的空格和回車(chē)換行符
str.partition(substr) 從substr出現(xiàn)的第一個(gè)位置起玻孟,將str分割成一個(gè)3元組。
str.replace(str1,str2,num) 查找str1替換成str2鳍征,num是替換次數(shù)
str.rfind(str[,beg,end]) 從右邊開(kāi)始查詢子字符串
str.rindex(str,[beg,end]) 從右邊開(kāi)始查找子字符串位置
str.rpartition(str) 類(lèi)似partition函數(shù)取募,不過(guò)從右邊開(kāi)始查找
str.translate(str,del=‘‘) 按str給出的表轉(zhuǎn)換string的字符,del是要過(guò)慮的字符
urllib模塊:
urllib.quote(string[,safe]) 對(duì)字符串進(jìn)行編碼蟆技。參數(shù)safe指定了不需要編碼的字符
urllib.unquote(string) 對(duì)字符串進(jìn)行解碼
urllib.quote_plus(string[,safe]) 與urllib.quote類(lèi)似,但這個(gè)方法用‘+‘來(lái)替換‘ ‘斗忌,而quote用‘%20‘來(lái)代替‘ ‘
urllib.unquote_plus(string ) 對(duì)字符串進(jìn)行解碼
urllib.urlencode(query[,doseq]) 將dict或者包含兩個(gè)元素的元組列表轉(zhuǎn)換成url參數(shù)质礼。
例如 字典{‘name‘:‘wklken‘,‘pwd‘:‘123‘}將被轉(zhuǎn)換為”name=wklken&pwd=123″
urllib.pathname2url(path) 將本地路徑轉(zhuǎn)換成url路徑
urllib.url2pathname(path) 將url路徑轉(zhuǎn)換成本地路徑
urllib.urlretrieve(url[,filename[,reporthook[,data]]]) 下載遠(yuǎn)程數(shù)據(jù)到本地
filename:指定保存到本地的路徑(若未指定該,urllib生成一個(gè)臨時(shí)文件保存數(shù)據(jù))
reporthook:回調(diào)函數(shù)织阳,當(dāng)連接上服務(wù)器眶蕉、以及相應(yīng)的數(shù)據(jù)塊傳輸完畢的時(shí)候會(huì)觸發(fā)該回調(diào)
data:指post到服務(wù)器的數(shù)據(jù)
rulrs = urllib.urlopen(url[,data[,proxies]]) 抓取網(wǎng)頁(yè)信息,[data]post數(shù)據(jù)到Url,proxies設(shè)置的代理
urlrs.readline() 跟文件對(duì)象使用一樣
urlrs.readlines() 跟文件對(duì)象使用一樣
urlrs.fileno() 跟文件對(duì)象使用一樣
urlrs.close() 跟文件對(duì)象使用一樣
urlrs.info() 返回一個(gè)httplib.HTTPMessage對(duì)象唧躲,表示遠(yuǎn)程服務(wù)器返回的頭信息
urlrs.getcode() 獲取請(qǐng)求返回狀態(tài)HTTP狀態(tài)碼
urlrs.geturl() 返回請(qǐng)求的URL
re模塊:
一.常用正則表達(dá)式符號(hào)和語(yǔ)法:
'.' 匹配所有字符串造挽,除\n以外
‘-’ 表示范圍[0-9]
'*' 匹配前面的子表達(dá)式零次或多次。要匹配 * 字符弄痹,請(qǐng)使用 \*饭入。
'+' 匹配前面的子表達(dá)式一次或多次。要匹配 + 字符肛真,請(qǐng)使用 \+
'^' 匹配字符串開(kāi)頭
‘$’ 匹配字符串結(jié)尾 re
'\' 轉(zhuǎn)義字符谐丢, 使后一個(gè)字符改變?cè)瓉?lái)的意思,如果字符串中有字符*需要匹配,可以\*或者字符集[*] re.findall(r'3\*','3*ds')結(jié)['3*']
'*' 匹配前面的字符0次或多次 re.findall("ab*","cabc3abcbbac")結(jié)果:['ab', 'ab', 'a']
‘?’ 匹配前一個(gè)字符串0次或1次 re.findall('ab?','abcabcabcadf')結(jié)果['ab', 'ab', 'ab', 'a']
'{m}' 匹配前一個(gè)字符m次 re.findall('cb{1}','bchbchcbfbcbb')結(jié)果['cb', 'cb']
'{n,m}' 匹配前一個(gè)字符n到m次 re.findall('cb{2,3}','bchbchcbfbcbb')結(jié)果['cbb']
'\d' 匹配數(shù)字乾忱,等于[0-9] re.findall('\d','電話:10086')結(jié)果['1', '0', '0', '8', '6']
'\D' 匹配非數(shù)字讥珍,等于[^0-9] re.findall('\D','電話:10086')結(jié)果['電', '話', ':']
'\w' 匹配字母和數(shù)字,等于[A-Za-z0-9] re.findall('\w','alex123,./;;;')結(jié)果['a', 'l', 'e', 'x', '1', '2', '3']
'\W' 匹配非英文字母和數(shù)字,等于[^A-Za-z0-9] re.findall('\W','alex123,./;;;')結(jié)果[',', '.', '/', ';', ';', ';']
'\s' 匹配空白字符 re.findall('\s','3*ds \t\n')結(jié)果[' ', '\t', '\n']
'\S' 匹配非空白字符 re.findall('\s','3*ds \t\n')結(jié)果['3', '*', 'd', 's']
'\A' 匹配字符串開(kāi)頭
'\Z' 匹配字符串結(jié)尾
'\b' 匹配單詞的詞首和詞尾窄瘟,單詞被定義為一個(gè)字母數(shù)字序列衷佃,因此詞尾是用空白符或非字母數(shù)字符來(lái)表示的
'\B' 與\b相反,只在當(dāng)前位置不在單詞邊界時(shí)匹配
'(?P<name>...)' 分組蹄葱,除了原有編號(hào)外在指定一個(gè)額外的別名 re.search("(?P<province>[0-9]{4})(?P<city>[0-9]{2})(?P<birthday>[0-9]{8})","371481199306143242").groupdict("city") 結(jié)果{'province': '3714', 'city': '81', 'birthday': '19930614'}
[] 是定義匹配的字符范圍氏义。比如 [a-zA-Z0-9] 表示相應(yīng)位置的字符要匹配英文字符和數(shù)字。[\s*]表示空格或者*號(hào)新蟆。
二.常用的re函數(shù):
方法/屬性 作用
re.match(pattern, string, flags=0) 從字符串的起始位置匹配觅赊,如果起始位置匹配不成功的話,match()就返回none
re.search(pattern, string, flags=0) 掃描整個(gè)字符串并返回第一個(gè)成功的匹配
re.findall(pattern, string, flags=0) 找到RE匹配的所有字符串琼稻,并把他們作為一個(gè)列表返回
re.finditer(pattern, string, flags=0) 找到RE匹配的所有字符串吮螺,并把他們作為一個(gè)迭代器返回
re.sub(pattern, repl, string, count=0, flags=0) 替換匹配到的字符串
math模塊
ceil:取大于等于x的最小的整數(shù)值,如果x是一個(gè)整數(shù)帕翻,則返回x
copysign:把y的正負(fù)號(hào)加到x前面鸠补,可以使用0
cos:求x的余弦,x必須是弧度
degrees:把x從弧度轉(zhuǎn)換成角度
e:表示一個(gè)常量
exp:返回math.e,也就是2.71828的x次方
expm1:返回math.e的x(其值為2.71828)次方的值減1
fabs:返回x的絕對(duì)值
factorial:取x的階乘的值
floor:取小于等于x的最大的整數(shù)值嘀掸,如果x是一個(gè)整數(shù)紫岩,則返回自身
fmod:得到x/y的余數(shù),其值是一個(gè)浮點(diǎn)數(shù)
frexp:返回一個(gè)元組(m,e),其計(jì)算方式為:x分別除0.5和1,得到一個(gè)值的范圍
fsum:對(duì)迭代器里的每個(gè)元素進(jìn)行求和操作
gcd:返回x和y的最大公約數(shù)
hypot:如果x是不是無(wú)窮大的數(shù)字,則返回True,否則返回False
isfinite:如果x是正無(wú)窮大或負(fù)無(wú)窮大睬塌,則返回True,否則返回False
isinf:如果x是正無(wú)窮大或負(fù)無(wú)窮大泉蝌,則返回True,否則返回False
isnan:如果x不是數(shù)字True,否則返回False
ldexp:返回x*(2**i)的值
log:返回x的自然對(duì)數(shù),默認(rèn)以e為基數(shù)揩晴,base參數(shù)給定時(shí)勋陪,將x的對(duì)數(shù)返回給定的base,計(jì)算式為:log(x)/log(base)
log10:返回x的以10為底的對(duì)數(shù)
log1p:返回x+1的自然對(duì)數(shù)(基數(shù)為e)的值
log2:返回x的基2對(duì)數(shù)
modf:返回由x的小數(shù)部分和整數(shù)部分組成的元組
pi:數(shù)字常量,圓周率
pow:返回x的y次方硫兰,即x**y
radians:把角度x轉(zhuǎn)換成弧度
sin:求x(x為弧度)的正弦值
sqrt:求x的平方根
tan:返回x(x為弧度)的正切值
trunc:返回x的整數(shù)部分