小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 昵稱62125662 2020-02-08

一、模塊介紹

1. 定義:

模塊:本質(zhì)就是.py結(jié)尾的python文件(文件名:test.py,對(duì)應(yīng)的模塊名:test)

用來(lái)從邏輯上組織python代碼(變量,函數(shù),類,邏輯:實(shí)現(xiàn)一個(gè)功能)

更多Python視頻、源碼、資料加群683380553免費(fèi)獲取

2. 語(yǔ)法:

import 語(yǔ)句

當(dāng)解釋器遇到import語(yǔ)句,如果模塊在當(dāng)前的搜索路徑就會(huì)被導(dǎo)入。搜索路徑是一個(gè)解釋器會(huì)先進(jìn)行搜索的所有目錄的列表。

導(dǎo)入模塊:

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

調(diào)用符號(hào):

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

From…import 語(yǔ)句

Python的from語(yǔ)句讓你從模塊中導(dǎo)入一個(gè)指定的部分到當(dāng)前命名空間中。語(yǔ)法如下:

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

From…import* 語(yǔ)句

把一個(gè)模塊的所有內(nèi)容全都導(dǎo)入到當(dāng)前的命名空間也是可行的,只需使用如下聲明:

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

這提供了一個(gè)簡(jiǎn)單的方法來(lái)導(dǎo)入一個(gè)模塊中的所有項(xiàng)目。慎用 from…import *。

import 和 from 的區(qū)別:

import導(dǎo)入使用時(shí),加前綴 module.func()。相當(dāng)于把模塊代碼放在當(dāng)前文件中執(zhí)行一遍。

from可以指定需要的函數(shù)或變量導(dǎo)入。

導(dǎo)入模塊和當(dāng)前py文件都有同一個(gè)函數(shù),調(diào)用會(huì)調(diào)用哪一個(gè)?

因?yàn)閜ython是解釋型,所以后面覆蓋前面。

from … import … as …

3. import本質(zhì)

import 本質(zhì):

導(dǎo)入一個(gè)模塊本質(zhì)就是解釋執(zhí)行一個(gè)python文件

導(dǎo)入一個(gè)包本質(zhì)就是解釋該包下的__init__.py文件

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

__init__.py

:本質(zhì)就是一個(gè)目錄(必須帶有一個(gè)__init__.py文件),用來(lái)從邏輯上組織模塊

導(dǎo)入包,怎么導(dǎo)入?

導(dǎo)入包的本質(zhì):執(zhí)行包下面的__init__.py文件

導(dǎo)入包下的模塊

包下面的模塊,這樣調(diào)用是錯(cuò)誤的

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

在__init__.py內(nèi)容中導(dǎo)入模塊

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

4、路徑搜索和搜索路徑

上面提到的都是導(dǎo)入同級(jí)目錄下的模塊,如果不在同一個(gè)目錄下:

import module_name實(shí)際找module_name.py文件,是文件就一定要有路徑。

導(dǎo)入模塊就是:找到.py文件的位置,把它執(zhí)行一遍,從哪里找呢?sys.path.

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

  • # 以上可見(jiàn):sys.path 是一個(gè)列表
  • # 里面的 '' 指的當(dāng)前路徑,這是為何查找模塊先從當(dāng)前目錄查找的原因
  • os.path.abspath(__file__) # 當(dāng)前文件絕對(duì)路
  • os.path.dirname(os.path.abspath(__file__)) #獲取目錄名
  • sys.path.append() :追加到最后
  • # 所以:可以如下,動(dòng)態(tài)添加路徑到第一
  • sys.path.insert

5. 導(dǎo)入優(yōu)化

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

6. 阻止屬性導(dǎo)入

如果你不想讓某個(gè)模塊屬性被 “from module import *” 導(dǎo)入 , 那么你可以給你不想導(dǎo)入的屬性名稱加上一個(gè)下劃線( _ )。 不過(guò)如果你導(dǎo)入了整個(gè)模塊或是你顯式地導(dǎo)入某個(gè)屬性這個(gè)隱藏?cái)?shù)據(jù)的方法就不起作用了。

二、模塊的分類

a:標(biāo)準(zhǔn)庫(kù)

b:開(kāi)源模塊-第三方模塊

c:自定義模塊

三、常用內(nèi)置模塊

1、os模塊

用于提供系統(tǒng)級(jí)別的操作

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

2、time和datetime

在Python中,通常有這幾種方式來(lái)表示時(shí)間:

時(shí)間戳

格式化的時(shí)間字符串

元組(struct_time)共九個(gè)元素。

由于Python的time模塊實(shí)現(xiàn)主要調(diào)用C庫(kù),所以各個(gè)平臺(tái)可能有所不同。

UTC(Coordinated Universal Time,世界協(xié)調(diào)時(shí))亦即格林威治天文時(shí)間,世界標(biāo)準(zhǔn)時(shí)間。在中國(guó)為UTC+8。DST(Daylight Saving Time)即夏令時(shí)。

時(shí)間戳(timestamp)的方式:通常來(lái)說(shuō),時(shí)間戳表示的是從1970年1月1日00:00:00開(kāi)始按秒計(jì)算的偏移量。我們運(yùn)行“type(time.time())”,返回的是float類型。返回時(shí)間戳方式的函數(shù)主要有time(),clock()等。

元組(struct_time)方式:struct_time元組共有9個(gè)元素,返回struct_time的函數(shù)主要有g(shù)mtime(),localtime(),strptime()。

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

時(shí)間轉(zhuǎn)為時(shí)間戳

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

格式化時(shí)間字符串

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

轉(zhuǎn)化時(shí)間戳和元組到時(shí)間字符串

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

時(shí)間加減

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

3、random模塊

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

4、sys模塊

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

5、shutil模塊

高級(jí)的 文件、文件夾、拷貝、壓縮包等 處理模塊

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

6、ConfigParser

用于對(duì)特定的配置進(jìn)行操作,當(dāng)前模塊的名稱在 python 3.x 版本中變更為 configparser。

來(lái)看一個(gè)好多軟件的常見(jiàn)文檔格式如下

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

如果想用python生成一個(gè)這樣的文檔怎么做呢?

· 生成

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

· 讀取出來(lái)

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

· configparser增刪改查語(yǔ)法

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

7、hashlib模塊

用于加密相關(guān)的操作,3.x里代替了md5模塊和sha模塊,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法,hash 加密都是bytes類型

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

python 還有一個(gè) hmac 模塊,它內(nèi)部對(duì)我們創(chuàng)建 key 和 內(nèi)容 再進(jìn)行處理然后再加密

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

8、Subprocess模塊

調(diào)用subprocess.run(…)是推薦的常用方法,在大多數(shù)情況下能滿足需求,但如果你可能需要進(jìn)行一些復(fù)雜的與系統(tǒng)的交互的話,你還可以用subprocess.Popen(),語(yǔ)法如下:

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

可用參數(shù):

args:shell命令,可以是字符串或者序列類型(如:list,元組)

bufsize:指定緩沖。0 無(wú)緩沖,1 行緩沖,其他 緩沖區(qū)大小,負(fù)值 系統(tǒng)緩沖

stdin, stdout, stderr:分別表示程序的標(biāo)準(zhǔn)輸入、輸出、錯(cuò)誤句柄

preexec_fn:只在Unix平臺(tái)下有效,用于指定一個(gè)可執(zhí)行對(duì)象(callable object),它將在子進(jìn)程運(yùn)行之前被調(diào)用

close_sfs:在windows平臺(tái)下,如果close_fds被設(shè)置為True,則新創(chuàng)建的子進(jìn)程將不會(huì)繼承父進(jìn)程的輸入、輸出、錯(cuò)誤管道。 所以不能將close_fds設(shè)置為True同時(shí)重定向子進(jìn)程的標(biāo)準(zhǔn)輸入、輸出與錯(cuò)誤(stdin, stdout, stderr)。

shell:同上

cwd:用于設(shè)置子進(jìn)程的當(dāng)前目錄

env:用于指定子進(jìn)程的環(huán)境變量。如果env = None,子進(jìn)程的環(huán)境變量將從父進(jìn)程中繼承。

universal_newlines:不同系統(tǒng)的換行符不同,True -> 同意使用

startupinfo與createionflags只在windows下有效 將被傳遞給底層的CreateProcess()函數(shù),用于設(shè)置子進(jìn)程的一些屬性,如:主窗口的外觀,進(jìn)程的優(yōu)先級(jí)等等

終端輸入的命令分為兩種:

· 輸入即可得到輸出,如:ifconfig

· 輸入進(jìn)行某環(huán)境,依賴再輸入,如:python

需要交互的命令示例

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

9、re-正則表達(dá)式模塊

常用正則表達(dá)式符號(hào)

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

最常用的匹配語(yǔ)法

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

分組匹配 和 group()、groups()、groupdict()

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

10、logging模塊

python的logging模塊提供了標(biāo)準(zhǔn)的日志接口,你可以通過(guò)它存儲(chǔ)各種格式的日志,logging的日志可以分為 debug(), info(), warning(), error() and critical() 5個(gè)級(jí)別,下面我們看一下怎么用。

最簡(jiǎn)單用法

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

看一下這幾個(gè)日志級(jí)別分別代表什么意思

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

如果想把日志寫到文件里,也很簡(jiǎn)單

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

其中下面這句中的level=loggin.INFO意思是,把日志紀(jì)錄級(jí)別設(shè)置為INFO,也就是說(shuō),只有比日志是INFO或比INFO級(jí)別更高的日志才會(huì)被紀(jì)錄到文件里,在這個(gè)例子, 第一條日志是不會(huì)被紀(jì)錄的,如果希望紀(jì)錄debug的日志,那把日志級(jí)別改成DEBUG就行了。

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

如果想同時(shí)把log打印在屏幕和文件日志里,就需要了解一點(diǎn)復(fù)雜的知識(shí) 了

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

11、json和pickle數(shù)據(jù)序列化

str eval

數(shù)據(jù)序列化

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

json只能處理簡(jiǎn)單的,所有語(yǔ)言通用的,函數(shù)不能json序列化

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

pickle可以序列化python所有的數(shù)據(jù)類型

12、shelve 模塊

shelve模塊是一個(gè)簡(jiǎn)單的k,v將內(nèi)存數(shù)據(jù)通過(guò)文件持久化的模塊,可以持久化任何pickle可支持的python數(shù)據(jù)格式

想做Python開(kāi)發(fā),這14種常用Python模塊,你需知道的幾大模塊!

 

13、xml處理模塊

xml是實(shí)現(xiàn)不同語(yǔ)言或程序之間進(jìn)行數(shù)據(jù)交換的協(xié)議,跟json差不多,但json使用起來(lái)更簡(jiǎn)單,json之前的交換方式

14、PyYAML模塊

Python也可以很容易的處理ymal文檔格式,只不過(guò)需要安裝一個(gè)模塊

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多