函數(shù)103456743 4、內(nèi)置函數(shù) 模塊一、模塊簡(jiǎn)介 模塊是實(shí)現(xiàn)了某個(gè)功能的代碼集合,比如幾個(gè).py文件可以組成代碼集合即模塊。其中常見的模塊有os模塊(系統(tǒng)相關(guān)),file模塊(文件操作相關(guān)) 模塊主要分三類:
三、常用內(nèi)置模塊 內(nèi)置模塊是Python自帶的功能,在使用時(shí),需要先導(dǎo)入再使用 1、sys模塊 用于提供python解釋器相關(guān)操作 import sys 2、os模塊 提供系統(tǒng)級(jí)別的操作 os.getcwd() 獲取當(dāng)前工作目錄,即當(dāng)前python腳本工作的目錄路徑os.chdir('dirname') 改變當(dāng)前腳本工作目錄;相當(dāng)于shell下cdos.curdir 返回當(dāng)前目錄: ('.')os.pardir 獲取當(dāng)前目錄的父目錄字符串名:('..')os.makedirs('dir1/dir2') 可生成多層遞歸目錄os.removedirs('dirname1') 若目錄為空,則刪除,并遞歸到上一級(jí)目錄,如若也為空,則刪除,依此類推os.mkdir('dirname') 生成單級(jí)目錄;相當(dāng)于shell中mkdir dirnameos.rmdir('dirname') 刪除單級(jí)空目錄,若目錄不為空則無法刪除,報(bào)錯(cuò);相當(dāng)于shell中rmdir dirnameos.listdir('dirname') 列出指定目錄下的所有文件和子目錄,包括隱藏文件,并以列表方式打印os.remove() 刪除一個(gè)文件os.rename('oldname','new') 重命名文件/目錄os.stat('path/filename') 獲取文件/目錄信息os.sep 操作系統(tǒng)特定的路徑分隔符,win下為'\',Linux下為'/'os.linesep 當(dāng)前平臺(tái)使用的行終止符,win下為' ',Linux下為' 'os.pathsep 用于分割文件路徑的字符串os.name 字符串指示當(dāng)前使用平臺(tái)。win->'nt'; Linux->'posix'os.system('bash command') 運(yùn)行shell命令,直接顯示os.environ 獲取系統(tǒng)環(huán)境變量os.path.abspath(path) 返回path規(guī)范化的絕對(duì)路徑os.path.split(path) 將path分割成目錄和文件名二元組返回os.path.dirname(path) 返回path的目錄。其實(shí)就是os.path.split(path)的第一個(gè)元素os.path.basename(path) 返回path最后的文件名。如何path以/或結(jié)尾,那么就會(huì)返回空值。即os.path.split(path)的第二個(gè)元素os.path.exists(path) 如果path存在,返回True;如果path不存在,返回Falseos.path.isabs(path) 如果path是絕對(duì)路徑,返回Trueos.path.isfile(path) 如果path是一個(gè)存在的文件,返回True。否則返回Falseos.path.isdir(path) 如果path是一個(gè)存在的目錄,則返回True。否則返回Falseos.path.join(path1[, path2[, ...]]) 將多個(gè)路徑組合后返回,第一個(gè)絕對(duì)路徑之前的參數(shù)將被忽略os.path.getatime(path) 返回path所指向的文件或者目錄的最后存取時(shí)間os.path.getmtime(path) 返回path所指向的文件或者目錄的最后修改時(shí)間 3、hashlib模塊 用于加密相關(guān)的操作,代替了md5模塊和sha模塊,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法 5、re模塊 re提供正則表達(dá)式相關(guān)操作 字符: . 匹配除換行符以外的任意字符 w匹配字母或數(shù)字或下劃線或漢字 s匹配任意的空白符 d匹配數(shù)字 匹配單詞的開始或結(jié)束 ^匹配字符串的開始 $匹配字符串的結(jié)束 次數(shù): * 重復(fù)零次或更多次 +重復(fù)一次或更多次 ?重復(fù)零次或一次 {n}重復(fù)n次 {n,}重復(fù)n次或更多次 {n,m}重復(fù)n到m次 match: match,從起始位置開始匹配,匹配成功返回一個(gè)對(duì)象,未匹配成功返回None match(pattern, string, flags=0) match語法 match示例 search: search,瀏覽整個(gè)字符串去匹配第一個(gè),未匹配成功返回None search(pattern, string, flags=0) 6、序列化模塊 Python中用于序列化的兩個(gè)模塊
Json模塊提供了四個(gè)功能:dumps、dump、loads、load pickle模塊提供了四個(gè)功能:dumps、dump、loads、load 7、configparser模塊 configparser用于處理特定格式的文件,其本質(zhì)上是利用open來操作文件。 文件名為xxx000的內(nèi)容如下: 具體操作示例如下: (1)獲取文件中所有節(jié)點(diǎn)import configparserconfig = configparser.ConfigParser()config.read('xxxooo', encoding='utf-8')ret = config.sections()print(ret)(2)獲取指定節(jié)點(diǎn)的所有鍵值對(duì)import configparserconfig = configparser.ConfigParser()config.read('xxxooo', encoding='utf-8')ret = config.items('section1')print(ret)(3)獲取指定節(jié)點(diǎn)的所有的鍵import configparserconfig = configparser.ConfigParser()config.read('xxxooo', encoding='utf-8')ret = config.options('section1')print(ret)(4)獲取指定節(jié)點(diǎn)下指定key的值import configparserconfig = configparser.ConfigParser()config.read('xxxooo', encoding='utf-8')v = config.get('section1', 'k1')# v = config.getint('section1', 'k1')# v = config.getfloat('section1', 'k1')# v = config.getboolean('section1', 'k1')print(v)(5)檢查、刪除、添加節(jié)點(diǎn)import configparserconfig = configparser.ConfigParser()config.read('xxxooo', encoding='utf-8')# 檢查has_sec = config.has_section('section1')print(has_sec)# 添加節(jié)點(diǎn)config.add_section('SEC_1')config.write(open('xxxooo', 'w'))# 刪除節(jié)點(diǎn)config.remove_section('SEC_1')config.write(open('xxxooo', 'w'))(6)檢查、刪除、設(shè)置指定組內(nèi)的鍵值對(duì)import configparserconfig = configparser.ConfigParser()config.read('xxxooo', encoding='utf-8')# 檢查has_opt = config.has_option('section1', 'k1')print(has_opt)# 刪除config.remove_option('section1', 'k1')config.write(open('xxxooo', 'w'))# 設(shè)置config.set('section1', 'k10', '123')config.write(open('xxxooo', 'w')) 四、模塊 發(fā)送 來源: |
|