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

下載本文檔

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

文檔簡介

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

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

3、hon35python.exe D:/python 培訓(xùn) /s14/day5/module_test/main.py2 dean3 hello dean45 Process finished with exit code 0import module_name1,module_name2from module_name import *( 這種方法不建議使用 )from module_name import logger as log(另U名的方法 )c.導(dǎo)入模塊的本質(zhì)就是把python文件解釋一遍import module_namemodule_name.pymodule_name.py 的

4、路徑 sys.path導(dǎo)入包的本質(zhì)就是執(zhí)行該包下面的_init_.py關(guān)于導(dǎo)入包的一個代碼例子:新建一個 package_test包,并在該包下面建立一個testl.py的python程序,在package包的同級目錄建立一個 p_test.py的程序 test1 的代碼如下:1 def test():2 print(int the test1) package_test包下的 _init_.py 的代碼如下:1 #import test1(理論上這樣就可以但是在pycharm下測試必須用下面 from .import test1)2 from . import test13 print(in

5、 the init)p_test的代碼如下:1 import package_test#執(zhí)行 _init_.py2 package_test.test1.test()這樣運行 p_test 的結(jié)果:1 D:python35python.exe D:/python 培訓(xùn) /s14/day5/p_test.py2 in the init3 int the test145 Process finished with exit code 0 從上述的例子中也可以看出:導(dǎo)入包的時候其實是執(zhí)行包下的_init_.py 程序,所以如果想要調(diào)用包下面的 python 程序需要在包下的 _init_.py 導(dǎo)入

6、包下面的程序2、模塊的分類a標準庫b開源模塊c自動以模塊3、時間模塊time 與 datetimepython 中常見的時間表示方法:a. 時間戳?xí)r間戳:從 1970年1月1日 00:00:00到現(xiàn)在為止一共的時間數(shù)(單位為秒) time.time()1472016249.393169b. 格式化的時間字符串c. struct_time(元組)相互之間的轉(zhuǎn)換關(guān)系如下:1)time.localtime()將時間戳轉(zhuǎn)換為當前時間的元組 time.localtime()time.struct_time(tm_year=2016, tm_mon=8, tm_mday=24, tm_hour=13, t

7、m_min=27, tm_sec=55, tm_wday=2, tm_yday=237, tm_isdst=0)2) time.gmtime()將時間戳轉(zhuǎn)換為當前時間utc時間的元組 time.gmtime()time.struct_time(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) time.mktime()可以將struct_time轉(zhuǎn)換成時間戳 x = time.localtime() xtime.struct_tim

8、e(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) time.mktime(x)1472017182.04) 將 struct_time 裝換成格式化的時間字符串 xtime.struct_time(tm_year=2016, tm_mon=8, tm_mday=24, tm_hour=13, tm_min=39, tm_sec=42,可編輯咚匡怕9OCXI卜寸“CXI&L 寸cxl6nLspslul 2gcxlHAepAllul

9、-CXIHABPMIlul -cxlguo SIE1 -9UU-EIE1 -寸 LUnolllEl -寸CXIHAEPEIE1 chuoeieiCDLOCXIHJEeAIEloEQIlonbseEQ (=S%W%T% P%E%-A%=-=CXI999 寸 L 寸 AAAAAA zp6eL 寸CXI-8O-9OCXI- (X-=S%W%T% P%E%-A%=O壬 gs壬 1 AAA Ousps-IEl 2gcxlHAepAIEl -CXIHAepMIEl(XOE4。EQ AAA 08896寸 866L0CXI卜寸 LX AAA (OEQ EQ H X AAA 咚95(|卜寸“CXI&L 寸Cxl

10、6npe/A 整曙堞蠢叵起-# pAAA-9OCXI卜寸“CXI&L 寸CXI6nLspslul 2gcxlHAepAllul -CXIHABPMIlul -卜寸 Ho SIE1 -CXICXIUU-EIE1 -寸 LUnolllEl -寸CXIHAEPEIE1OOUU0EIE1 -9 LOCXIHAIEloE4llonlseE4X AAA- 教育精選Wed Aug 24 14:26:24 2016復(fù)制代碼1 %a本地(locale)簡化星期名稱2 %A本地完整星期名稱3 %b本地簡化月份名稱4 %B本地完整月份名稱5 %c本地相應(yīng)的日期和時間表示6 %d 一個月中的第幾天( 01 - 31

11、)7 %H 一天中的第幾個小時( 24 小時制, 00 - 23)8 %I 第幾個小時( 12 小時制, 01 - 12)9 %j 一年中的第幾天( 001 - 366)10 %m月份( 01 - 12)11 %M 分鐘數(shù)( 00 - 59)12 %p 本地 am 或者 pm 的相應(yīng)符13 %S 秒( 01 - 61 )個星期天之前的所有14 %U 一年中的星期數(shù)。 (00 - 53星期天是一個星期的開始。 )第一 天數(shù)都放在第 0 周。15 %w 一個星期中的第幾天( 0 - 6,0 是星期天)16 %W 和%U基本相同,不同的是 %W以星期一為一個星期的開始。17 %x本地相應(yīng)日期18 %

12、X本地相應(yīng)時間19 %y 去掉世紀的年份( 00 - 99)20 %Y完整的年份21 %Z時區(qū)的名字(如果不存在為空字符)22 % %字符復(fù)制代碼datetime當前時間: datetime.datetime.now() 1 、 隨機模塊 random ran dom.ra ndi nt(1,3)則可以取出隨機 1-3 ran dom.ra ndran ge(1,3隨機從范圍內(nèi)所及ran dom.choice()傳遞的參數(shù)是序列包括字符串列表等 random.choice(hello)可編輯l random.choice(hello)o random.choice(hello)e random

13、.choice( 我, 愛, 你 )我 random.choice( 我, 愛, 你 )你 random.choice( 我, 愛, 你 )你 random.choice( 我, 愛, 你 )愛random.sample ()隨機從前面的序列取出兩位 random.sample(hello,2)l, o random.sample(hello,2)h, l random.sample(hello,2) h, orandom 的洗牌功能: a=1,2,3,4,5,6,7,8,9 random.shuffle(a) a6, 3, 7, 4, 1, 8, 9, 2, 5生成隨機驗證碼的例子:復(fù)制代碼

14、1 import string2 import random3 a = .join(random.sample(string.ascii_lowercase,4)4 print(a)5 b = .join(random.sample(string.ascii_lowercase+string.digits,5)6 print(b)78 c = .join(random.sample(string.ascii_uppercase+string.digits+string.ascii_lowercase,4)9 print(c)10 d =.join(random.sample(string.as

15、cii_letters+string.digits,4)11 print(d)復(fù)制代碼運行結(jié)果如下:復(fù)制代碼1 D:python35python.exe D:/python 培訓(xùn) /s14/day5/ 驗證碼 2.py2 tbdy3 6te4b4 Z2UA5 v8He67 Process finished with exit code 0復(fù)制代碼5、os模塊復(fù)制代碼1 os.getcwd() 獲取當前工作目錄,即當前 python 腳本工作的目錄路徑2 os.chdir(dirname) 改變當前腳本工作目錄;相當于 shell 下 cd3 os.curdir 返回當前目錄 : (.)4 os

16、.pardir 獲取當前目錄的父目錄字符串名: (.)5 os.makedirs(dirname1/dirname2) 可生成多層遞歸目錄6 os.removedirs(dirname1) 若目錄為空,則刪除,并遞歸到上一級目錄,如若也為空, 則刪除,依此類推7 os.mkdir(dirname)8 os.rmdir(dirname) 中 rmdir dirname刪除單級空目錄,若目錄不為空則無法刪除,報錯;相當于shell生成單級目錄;相當于 shell 中 mkdir dirname9 os.listdir(dirname)列出指定目錄下的所有文件和子目錄,包括隱藏文件,并以列表方 式打

17、印10 os.remove() 刪除一個文件11 os.rename(oldname,newname) 重命名文件 / 目錄12 os.stat(path/filename) 獲取文件 / 目錄信息13 os.sep輸出操作系統(tǒng)特定的路徑分隔符,win下為,Linux下為/14 os.linesep輸出當前平臺使用的行終止符,win下為tn,Linux 下為n15 os.pathsep 輸出用于分割文件路徑的字符串16 輸出字符串指示當前使用平臺。 win-nt; Linux-posix17 os.system(bash comma nd)運行 shell 命令,直接顯示18

18、os.environ 獲取系統(tǒng)環(huán)境變量19 os.path.abspath(path) 返回 path 規(guī)范化的絕對路徑20 os.path.split(path) 將 path 分割成目錄和文件名二元組返回21 os.path.dirname(path)返回 path 的目錄。其實就是os.path.split(path)的第一個元素22 os.path.basename(path) 返回 path 最后的文件名。如何 path 以或 結(jié)尾,那么就會返回 空值。即os.path.split(path)的第二個元素23 os.path.exists(path)如果 path 存在,返回 Tru

19、e;如果 path 不存在,返回 False24 os.path.isabs(path) 如果 path 是絕對路徑,返回 True25 os.path.isfile(path)如果path是一個存在的文件,返回True。否則返回 False26 os.path.isdir(path)如果path是一個存在的目錄,則返回 True。否則返回 False27 os.path.join(path1, path2, .) 將多個路徑組合后返回,第一個絕對路徑之前的參數(shù)將被 忽略28 os.path.getatime(path) 返回 path 所指向的文件或者目錄的最后存取時間29 os.path.

20、getmtime(path) 返回 path 所指向的文件或者目錄的最后修改時間復(fù)制代碼6、sys模塊復(fù)制代碼1 sys.argv2 sys.exit(n)3 sys.version4 sys.path5 sys.platform命令行參數(shù)List,第一個元素是程序本身路徑 退出程序,正常退出時 exit(0) 獲取 Python 解釋程序的版本信息 返回模塊的搜索路徑,初始化時使用PYTHONPATH 環(huán)境變量的值返回操作系統(tǒng)平臺名稱6 sys.stdout.write(please:)復(fù)制代碼7、 shutil 模塊復(fù)制代碼1 import shutil23 a = open(a.txt,

21、r,encoding=utf-8)4 b = open(b.txt,w,encoding=utf-8)56 shutil.copyfileobj(a,b)復(fù)制代碼運行夠會復(fù)制一個文件b,將a文件中的內(nèi)容復(fù)制到b文件中shutil.copyfile(b.txt,c.txt) 直接復(fù)制 b.txt 到 c.txt shutil.copymode(src,dst) 僅拷貝權(quán)限。內(nèi)容,組,用戶均不變 shutil.copystat(src,dst拷貝狀態(tài)的信息shutil.copytree(src,dst,symlinks=false,ignore=none) 遞歸拷貝文件 shutil.rmtree

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

23、n(shelve_test)67 info = name:dean,job:it,age:2389 dname=infoname10 djob=infojob11 ddate=datetime.datetime.now()12 d.close() 復(fù)制代碼 運行結(jié)果,會生成如下三個文件取出上述存的數(shù)據(jù)的代碼如下:1 d = shelve.open(shelve_test)2 print(d.get(name)3 print(d.get(job)4 print(d.get(date)運行結(jié)果如下: 復(fù)制代碼1 D:python35python.exe D:/python 培訓(xùn) /s14/day5

24、/shelve 模塊 /shelve_test.py2 dean3 it4 2016-08-24 16:04:13.32548256 Process finished with exit code 0復(fù)制代碼10、正則 re 模塊 復(fù)制代碼1 . 默認匹配除 n 之外的任意一個字符,若指定 flag DOTALL, 則匹配任意字符,包括 換行2 A匹配字符開頭,若指定flags MULTILINE,這種也可以匹配上(rAa,nabc neee,flags=re.MULTILINE)3 $4 *5 +6 ?7 m8 n,m匹配字符結(jié)尾, 或 e.search(foo$,bfoonsdfsf,fl

25、ags=re.MULTILINE).group() 也可以 匹配 *號前的字符匹配前一個字符匹配前一個字符匹配前一個字符匹配前一個字符0 次或多次,1 次或多次,1 次或 0 次m次n至U m次,re.findall(ab*,cabb3abcbbac) 結(jié)果為 abb, ab, a re.findall(ab+,ab+cd+abb+bba) 結(jié)果 ab, abbre.findall(ab1,3,abb abc abbcbbb) 結(jié)果 abb, ab,abb9 | 匹配 | 左或 | 右的字符, re.search(abc|ABC,ABCBabcCD).group() 結(jié)果 ABC10 (.)

26、分組匹配, re.search(abc)2a(123|456)c, abcabca456c).group() 結(jié)果 abcabca456c111213 A只從字符開頭匹配, re.search(Aabc,alexabc) 是匹配不到的14 Z匹配字符結(jié)尾,同 $15 d 匹配數(shù)字 0-916 D匹配非數(shù)字17 w匹配 A-Za-z0-918 W匹配非 A-Za-z0-919 s匹配空白字符、t 、n 、r , re.search(s+,abtc1n3).group() 結(jié)果 t20 S匹配非空白字符復(fù)制代碼r 代表取消引號里面特殊字符的意義最常用的匹配語法:re.match 從頭開始匹配re.

27、search匹配包含re.findall 把所有匹配到的字符放到以列表中的元素返回re.splitall 以匹配到的字符當做列表分隔符re.sub匹配字符并替換下面是關(guān)于正則的例子幫助理解:復(fù)制代碼1 re.match(Azhao,zhaofa n123)2 3 re.match(Aww,zhaofa n123)4 5 從這里也可以看出,如果有返回則表示匹配到了,否則則是沒有匹配到6 res = re.match(Azhao,zhaofan123)7 res8 9 res.group() # 如果想要查看匹配的內(nèi)容 .group()10 zhao11 12 匹配 zhao 后面以及數(shù)字13 r

28、es = re.match(Azhaod,zhao2323fan123)14 res.group()15 zhao216 匹配多個數(shù)字17 res = re.match(Azhaod+,zhao2323fa n123)18 res.group()19 zhao232320 2122 查找特定字符23 re.search(f.+n,zhao2323fan123)24 25 26 re.search(f.+n,zhao2323fan123n)27 28 2930 re.search(fa-z+n,zhao2323fan123n)31 32 33 $是匹配到字符串的最后34 re.search(#.+#,1234#hello#)35 36 37 re.search(aa?,zhaaaofan)38 39 re.search(aaa?,zhaaaofan)40 41 42 re.search(aaa?,

溫馨提示

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

評論

0/150

提交評論