python中常用的模塊的總結(jié)_第1頁(yè)
python中常用的模塊的總結(jié)_第2頁(yè)
python中常用的模塊的總結(jié)_第3頁(yè)
python中常用的模塊的總結(jié)_第4頁(yè)
python中常用的模塊的總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1、模塊和包a. 定義:模塊用來(lái)從邏輯上組織 python 代碼(變量,函數(shù),類,邏輯:實(shí)現(xiàn)一個(gè)功能) ,本質(zhì)就是 .py 結(jié)尾的 python 文件。(例如:文件名: , 對(duì)應(yīng)的模塊名: test )包:用來(lái)從邏輯上組織模塊的,本質(zhì)就是一個(gè)目錄(必須帶有一個(gè)的文件)b. 導(dǎo)入方法import module_nameimport module_1 的本質(zhì):是將 module_1 解釋了一遍也就是將 module_1 中的所有代碼復(fù)制給了 module_1from module_name1 import name本質(zhì)是將module_namel中的name變量放到當(dāng)前程序中運(yùn)行一遍所以調(diào)用的時(shí)候

2、直接print(n ame)就可以打印出name變量的值代碼例子:自己寫的模塊,其他程序調(diào)用,如下所示 :模塊代碼:復(fù)制代碼1 name = dean2 def say_hello():3 print(hello %s %name)調(diào)用模塊的 python 程序 main 代碼如下:(切記調(diào)用模塊的時(shí)候只需要 import 模塊名不需要加.py)import module_1#調(diào)用變量 print#調(diào)用模塊中的方法 ()復(fù)制代碼這樣運(yùn)行 main 程序后的結(jié)果如下:1 D:python35 D:/python 培訓(xùn) /s14/day5/module_test/2 dean3 hello dea

3、n45 Process finished with exit code 0import module_name1,module_name2from module_name import *( 這種方法不建議使用 )from module_name import logger as log( 別名的方法 )c. 導(dǎo)入模塊的本質(zhì)就是把 python 文件解釋一遍import module_name 的路徑 導(dǎo)入包的本質(zhì)就是執(zhí)行該包下面的關(guān)于導(dǎo)入包的一個(gè)代碼例子:新建一個(gè) package_test 包,并在該包下面建立一個(gè)的 python 程序, 在 package 包的同級(jí)目 錄建立一個(gè)的程序te

4、st1 的代碼如下:1 def test():2 print(int the test1) package_test 包下的的代碼如下:1 #import test1 (理論上這樣就可以但是在 pycharm 下測(cè)試必須用下面 from .import test1 )2 from . import test13 print(in the init)p_test 的代碼如下:1 import package_test #執(zhí)行2 這樣運(yùn)行 p_test 的結(jié)果:1 D:python35 D:/python培訓(xùn) /s14/day5/2 in the init3 int the test145 Pro

5、cess finished with exit code 0從上述的例子中也可以看出: 導(dǎo)入包的時(shí)候其實(shí)是執(zhí)行包下的程序, 所以如果想要調(diào)用包下 面的 python 程序需要在包下的導(dǎo)入包下面的程序2、模塊的分類a標(biāo)準(zhǔn)庫(kù)b開源模塊c自動(dòng)以模塊3、時(shí)間模塊time 與 datetimepython 中常見(jiàn)的時(shí)間表示方法:a. 時(shí)間戳?xí)r間戳:從 1970 年 1 月 1 日 00:00:00 到現(xiàn)在為止一共的時(shí)間數(shù)(單位為秒) ()b. 格式化的時(shí)間字符串c. struct_time( 元組 )相互之間的轉(zhuǎn)換關(guān)系如下:1) () 將時(shí)間戳轉(zhuǎn)換為當(dāng)前時(shí)間的元組 ()(tm_year=2016, tm

6、_mon=8, tm_mday=24, tm_hour=13, tm_min=27, tm_sec=55, tm_wday=2, tm_yday=237, tm_isdst=0)2) () 將時(shí)間戳轉(zhuǎn)換為當(dāng)前時(shí)間 utc 時(shí)間的元組 ()(tm_year=2016, tm_mon=8, tm_mday=24, tm_hour=5, tm_min=35, tm_sec=43, tm_wday=2, tm_yday=237, tm_isdst=0)3) () 可以將 struct_time 轉(zhuǎn)換成時(shí)間戳 x = () x(tm_year=2016, tm_mon=8, tm_mday=24, tm

7、_hour=13, tm_min=39, tm_sec=42, tm_wday=2, tm_yday=237, tm_isdst=0) (x)4) 將 struct_time 裝換成格式化的時(shí)間字符串 x (tm_year=2016, tm_mon=8, tm_mday=24, tm_hour=13, tm_min=39, tm_sec=42, tm_wday=2, tm_yday=237, tm_isdst=0) (%Y-%m-%d %H:%M:%S,x)2016-08-24 13:39:425) 可以將格式化的時(shí)間字符串轉(zhuǎn)換為 struct_time (2016-08-24 14:05:3

8、2,%Y-%m-%d %H:%M:%S)(tm_year=2016, tm_mon=8, tm_mday=24, tm_hour=14, tm_min=5, tm_sec=32, tm_wday=2, tm_yday=237, tm_isdst=-1)6) 將 struct_time 轉(zhuǎn)換成 Wed Aug 24 14:22:47 2016 這種格式 x(tm_year=2016, tm_mon=8, tm_mday=24, tm_hour=14, tm_min=22, tm_sec=47, tm_wday=2, tm_yday=237, tm_isdst=0) (x)Wed Aug 24 1

9、4:22:47 20167)將時(shí)間戳裝換成 Wed Aug 24 14:22:47 2016 格式 x = () xWed Aug 24 14:26:24 2016 復(fù)制代碼1 %a本地( locale )簡(jiǎn)化星期名稱2 %A本地完整星期名稱3 %b本地簡(jiǎn)化月份名稱4 %B本地完整月份名稱5 %c本地相應(yīng)的日期和時(shí)間表示6 %d 一個(gè)月中的第幾天( 01 - 31 )7 %H 一天中的第幾個(gè)小時(shí)( 24 小時(shí)制, 00 - 23 )8 %I 第幾個(gè)小時(shí)( 12 小時(shí)制, 01 - 12 )9 %j 一年中的第幾天( 001 - 366 )10 %m月份( 01 - 12 )11 %M 分鐘數(shù)(

10、 00 - 59 )12 %p 本地 am 或者 pm 的相應(yīng)符13 %S 秒( 01 - 61 )14 %U 一年中的星期數(shù)。 (00 - 53 星期天是一個(gè)星期的開始。 )第一個(gè)星期天之前的所 有天數(shù)都放在第 0 周。15 %w 一個(gè)星期中的第幾天( 0 - 6 ,0 是星期天)16 %W 和U基本相同,不同的是 WA星期一為一個(gè)星期的開始。17 %x本地相應(yīng)日期18 %X本地相應(yīng)時(shí)間19 %y 去掉世紀(jì)的年份( 00 - 99 )20 %Y完整的年份21 %Z時(shí)區(qū)的名字(如果不存在為空字符)22 %字符復(fù)制代碼 datetime當(dāng)前時(shí)間:、 隨機(jī)模塊 random(1,3) 則可以取出隨

11、機(jī) 1-3(1,3) 隨機(jī)從范圍內(nèi)所及() 傳遞的參數(shù)是序列包括字符串列表等l (hello) o (hello)e ( 我 , 愛(ài) , 你 ) 我 ( 我 , 愛(ài) , 你 ) 你 ( 我 , 愛(ài) , 你 ) 你 ( 我 , 愛(ài) , 你 ) 愛(ài) ()隨機(jī)從前面的序列取出兩位 (hello,2)l, o (hello,2)h, l (hello,2)h, orandom 的洗牌功能: a=1,2,3,4,5,6,7,8,9 (a) a6, 3, 7, 4, 1, 8, 9, 2, 5生成隨機(jī)驗(yàn)證碼的例子: 復(fù)制代碼1 import string2 import random3 a = .join

12、,4)4 print(a)5 b = .join+,5)6 print(b)78 c = .join+,4)9 print(c)10 d =.join+,4)11 print(d) 復(fù)制代碼 運(yùn)行結(jié)果如下: 復(fù)制代碼1 D:python35 D:/python培訓(xùn) /s14/day5/ 驗(yàn)證碼2 tbdy3 6te4b4 Z2UA5 v8He67 Process finished with exit code 0 復(fù)制代碼5、os 模塊 復(fù)制代碼1 () 獲取當(dāng)前工作目錄,即當(dāng)前 python 腳本工作的目錄路徑2 (dirname) 改變當(dāng)前腳本工作目錄;相當(dāng)于 shell 下 cd3 返回

13、當(dāng)前目錄 : (.)4 獲取當(dāng)前目錄的父目錄字符串名: (.)5 (dirname1/dirname2) 可生成多層遞歸目錄6 (dirname1) 若目錄為空,則刪除,并遞歸到上一級(jí)目錄,如若也為空,則刪除, 依此類推7 (dirname) 生成單級(jí)目錄;相當(dāng)于 shell 中 mkdir dirname8 (dirname) 刪除單級(jí)空目錄,若目錄不為空則無(wú)法刪除,報(bào)錯(cuò);相當(dāng)于 shell 中 rmdir dirname9 (dirname) 列出指定目錄下的所有文件和子目錄,包括隱藏文件,并以列表方式打 印13輸出操作系統(tǒng)特定的路徑分隔符,win 下為 ,Linux14輸出當(dāng)前平臺(tái)使用的

14、行終止符,win 下為 tn,Linux15輸出用于分割文件路徑的字符串10 () 刪除一個(gè)文件11 (oldname,newname) 重命名文件 / 目錄12 (path/filename) 獲取文件 / 目錄信息下為 / 下為 n16 輸出字符串指示當(dāng)前使用平臺(tái)。 win-nt; Linux-posix17 (bash command) 運(yùn)行 shell 命令,直接顯示18 獲取系統(tǒng)環(huán)境變量19 返回 path 規(guī)范化的絕對(duì)路徑20 將 path 分割成目錄和文件名二元組返回21 返回 path 的目錄。其實(shí)就是的第一個(gè)元素22 返回 path 最后的文件名。 如何 path 以或 結(jié)尾

15、, 那么就會(huì)返回空值。 即的第二個(gè)元 素23 如果 path 存在,返回 True ;如果 path 不存在,返回 False24 如果 path 是絕對(duì)路徑,返回 True25 如果 path 是一個(gè)存在的文件,返回 True 。否則返回 False26 如果 path 是一個(gè)存在的目錄,則返回 True 。否則返回 False27 path2, .)將多個(gè)路徑組合后返回,第一個(gè)絕對(duì)路徑之前的參數(shù)將被忽略28 返回 path 所指向的文件或者目錄的最后存取時(shí)間29 返回 path 所指向的文件或者目錄的最后修改時(shí)間 復(fù)制代碼6、sys 模塊 復(fù)制代碼1 命令行參數(shù) List ,第一個(gè)元素是程

16、序本身路徑2 (n)退出程序,正常退出時(shí) exit(0)3 獲取 Python 解釋程序的版本信息4 返回模塊的搜索路徑,初始化時(shí)使用 PYTHONPAT環(huán)境變量的值5 返回操作系統(tǒng)平臺(tái)名稱6 please:) 復(fù)制代碼7、shutil模塊復(fù)制代碼1 import shutil23 a = open(,r,encoding=utf-8)4 b = open(,w,encoding=utf-8)56 (a,b)復(fù)制代碼運(yùn)行夠會(huì)復(fù)制一個(gè)文件b,將a文件中的內(nèi)容復(fù)制到b文件中(,) 直接復(fù)制到(src,dst) 僅拷貝權(quán)限。內(nèi)容,組,用戶均不變(src,dst) 拷貝狀態(tài)的信息(src,dst,sy

17、mlinks=false,ignore=none)遞歸拷貝文件(path,ignore_errors,onerror)(sr,dst)遞歸移動(dòng)文件8、 用于序列化的兩個(gè)模塊json&picklejson ,用于字符串 和 python 數(shù)據(jù)類型間進(jìn)行轉(zhuǎn)換pickle ,用于 python 特有的類型 和 python 的數(shù)據(jù)類型間進(jìn)行轉(zhuǎn)換Json 模塊提供了四個(gè)功能: dumps、 dump、 loads 、 loadpickle 模塊提供了四個(gè)功能: dumps、dump、 loads 、 load9、關(guān)于 shelve 模塊代碼例子:復(fù)制代碼1 #AUTHOR:FAN2 import sh

18、elve3 import datetime44 d = (shelve_test)67 info = name:dean,job:it,age:238 9 dname=infoname10 djob=infojob11 ddate= ()復(fù)制代碼 運(yùn)行結(jié)果,會(huì)生成如下三個(gè)文件取出上述存的數(shù)據(jù)的代碼如下:1 d = (shelve_test)2 print(name)3 print(job)4 print(date) 運(yùn)行結(jié)果如下: 復(fù)制代碼1 D:python35 D:/python 培訓(xùn) /s14/day5/shelve 模塊 /2 dean3 it4 2016-08-24 16:04:55

19、 Process finished with exit code 0 復(fù)制代碼re 模塊10、正則復(fù)制代碼1 .括換行2A默認(rèn)匹配除n之外的任意一個(gè)字符,若指定flag DOTALL則匹配任意字符,包匹配 字 符 開頭 , 若 指 定 flags MULTILINE,(嚴(yán)a,nabc neee,flags=匹配字符結(jié)尾,或 (foo$,bfoonsdfsf,flags=.group()匹配 *號(hào)前的字符這種也可以匹配上3 $4 * a5 +6 ?7 m8 n,m abb9 |10 (.)匹配前一個(gè)字符 匹配前一個(gè)字符 匹配前一個(gè)字符 匹配前一個(gè)字符0 次或多次, (ab*,cabb3abcbb

20、ac)也可以結(jié)果為 abb,結(jié)果 ab, abbab,1 次或多次, (ab+,ab+cd+abb+bba)1 次或 0 次m次n 到 m次,(ab1,3,abb abc abbcbbb) 結(jié)果abb,ab,匹配 | 左或 | 右的字符,(abc|ABC,ABCBabcCD).group() 結(jié)果ABC 分 組 匹 配 ,(abc)2a(123|456)c,abcabca456c).group()結(jié)果abcabca456c 111213 A只從字符開頭匹配, (Aabc,alexabc) 是匹配不到的14 Z匹配字符結(jié)尾,同 $15 d匹配數(shù)字 0-916 D匹配非數(shù)字17 w匹配 A-Za-

21、z0-918 W匹配非 A-Za-z0-919 s 匹配空白字符、 t 、n 、r , (s+,abtc1n3).group()結(jié)果 t20 S 匹配非空白字符復(fù)制代碼r 代表取消引號(hào)里面特殊字符的意義最常用的匹配語(yǔ)法: 從頭開始匹配匹配包含把所有匹配到的字符放到以列表中的元素返回 以匹配到的字符當(dāng)做列表分隔符 匹配字符并替換下面是關(guān)于正則的例子幫助理解:復(fù)制代碼1 (zhaoTzhaofa n123)2 3 (Aww,zhaofa n123)4 5 從這里也可以看出,如果有返回則表示匹配到了,否則則是沒(méi)有匹配到6 res = (Azhao,zhaofan123)7 res8 9 () # 如

22、果想要查看匹配的內(nèi)容 .group()10 zhao11 12匹配zhao后面以及數(shù)字13 res = (Azhaod,zhao2323fan123)14 ()15 zhao216 匹配多個(gè)數(shù)字17 res = (Azhaod+,zhao2323fa n123)18 ()19 zhao232320 2122 查找特定字符23 (f.+n,zhao2323fan123)24 25 26 (f.+n,zhao2323fan123n)27 28 2930 (fa-z+n,zhao2323fan123n)31 32 33 $ 是匹配到字符串的最后34 (#.+#,1234#hello#)35 36 37 (aa?,zhaaaofan)38 39 (aaa?,zhaaaofan)40 41 42 (aaa?,zhaaofan)43 44 4546 47 (aaa?,zhaaofaaan)48 49 (aaa?,zhaofa

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論