python--常見模組學習

來源:互聯網
上載者:User

標籤:path   技術   dll   目錄   方法   rename   process   .json   推薦   

本節大綱:

1.模組介紹

2.time&datetime

3.random.

4.os

5.sys

6.shutil

7.json&picle

8.shelve

9.xml處理

10.yaml處理

11.configparser

12.hashlib

13.subprocess

14.logging模組

15.reRegex

模組的定義:用一堆代碼實現了某個功能的代碼集合

類似與函數式編程和面向過程編程,函數式編程則完成一個功能,其他代碼用來調用即可,提供了代碼的重用性和代碼間的耦合,而對於一個複雜的功能來說,可能需要多個函數才能完成(函數又可以在不同的.py檔案中),n個.py檔案組成的代碼集合就稱為模組

如:os是系統相關的模組,file是檔案操作相關的模組

模組分為三種:

自訂模組

內建模組

開源模組(第三方模組)

 

自訂模組

1.定義模組

情景一

情景二

 2.匯入模組

在python中,要想使用模組,需要先匯入,匯入模組有以下幾種方式:

如要匯入一個名為module的模組

1 import module2 from module.xx.xx import xx3 from module.xx.xx import xx as rename  4 from module.xx.xx import *
#*號這種匯入模式會匯入一個模組中的所有項目,這種方法雖然很簡單,便利,但是不推薦使用,
#因為引入的其他來源的命令,很可能覆蓋了已有的定義,存在一定的安全隱患

匯入模組其實就是在告訴Python解譯器去解釋那個py檔案

如果匯入的是一個py檔案,解譯器就解釋該py檔案

如果匯入的是一個包,解譯器就解釋該包下的__init__.py檔案

Python中,匯入模組時是根據那個路徑作為基準來進行的呢?

可通過sys模組中的sys.path來查看

import sysprint(sys.path)#[‘D:\\PycharmProjects\\fullstack\\homework_oneday\\module\\module_file‘, ‘D:\\PycharmProjects\\fullstack‘, ‘C:\\Program Files\\Python35\\python35.zip‘, ‘C:\\Program Files\\Python35\\DLLs‘, ‘C:\\Program Files\\Python35\\lib‘, ‘C:\\Program Files\\Python35‘, ‘C:\\Program Files\\Python35\\lib\\site-packages‘]

如果sys.path路徑列表中沒有你想要的路徑,可以通過sys.path.append(‘路徑‘)添加

通過os模組可以擷取各種目錄

import sysimport ospre_path = os.path.abspath(‘../‘)sys.path.append(pre_path)

 

包(package)的概念

我們先設想一下,如果不同的人編寫的模組名相同怎麼辦?為了避免衝突,Python又引進了按目錄

來組織模組的方法,稱為包(package)。

假設,如,我的兩個time_file.py模組名字重名了,但是這兩個模組的功能都不相同,如果這兩個模組都在同一級目錄中,那麼我在其他地方要調用這個time_file.py模組,那麼這個時候就會發生衝突,在這裡我們就可以通過包來組織模組,避免衝突,

方法是:選擇一個頂層包名,引入包以後,只要頂層的包名不與別人衝突,那這個包裡面的模組都不會與別人衝突了。

請注意:每個包目錄下來都會有一個__init__.py的檔案,這個檔案必須是存在的,否則,Python就不把這個目錄當成普通目錄,而不是一個包,__init__.py可以是空檔案,也可以有python代碼,__init__.py本身就是一個檔案,它的模組命就是對應的包名,它一般由於做介面檔案

python--常見模組學習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.