十二 python 模組和包的使用

2021-08-10 14:41:04 字數 2293 閱讀 8606

模組是python組織**的基本方式。

乙個python指令碼可以單獨執行,也可以匯入到另乙個指令碼中執行,當指令碼被匯入執行時,我們將其稱為模組(module),所有的.py檔案都可以作為乙個模組匯入。

模組名與指令碼的檔名相同,例如我們寫了乙個hello.py的檔案,我們在另外乙個指令碼中可以用import hello 語句來匯入它

python的模組可以按目錄組織為包

包的目錄下,必須有乙個_init_.py檔案。

自建sys.path目錄,方便以後引入模組:

vim .bashrc

加入:

export pythonpath=/root/library

source .bashrc

[root@jie ~]# echo $pythonpath

/root/library

此時,我們就可以看到python中 sys.path已經將/root/library 路徑引用進去,以後我們可以將模組放入此位置,python會自行去該目錄下面搜尋

建立乙個讀取檔案資訊的指令碼,用例外乙個指令碼呼叫:

vim w.py

#!/usr/bin/python

def wordcount(s):

chars = len(s)

words = len(s.split())

lines = s.count('\n')

print ("chars:%s,words:%s,lines:%s "%(chars,words,lines))

s=open('/etc/passwd').read()

wordcount(s)

建立另外乙個指令碼去呼叫他

vim s.y

#!/usr/bin/env python

import w

s = """hello world

python"""

w.wordcount(s)

此時執行s.py

[root@jie py]# python s.py

chars:1212,words:47,lines:26

chars:19,words:3,lines:1

此時 執行s.py指令碼 會輸出 w.py的值,也會輸出s.py指令碼中定義的值

我們需要優化一下,當將乙個指令碼當成模組呼叫時,應該去掉該指令碼的輸出值

呼叫w.py函式方法:

cat wc.py

#!/usr/bin/python

def wordcount(s):

chars = len(s)

words = len(s.split())

lines = s.count('\n')

print lines,words,chars

if __name__ == '__main__':

s=open('/etc/passwd').read()

wordcount(s)

優化一下呼叫指令碼

cat t.py

#!/usr/bin/python

import wc

t="""hello word py"""

wc.wordcount(t)

此時s.py將呼叫w.py的方法,並且不會輸出w.py的值

[root@jie py]# python w.py

chars:1212,words:47,lines:26

[root@jie py]# python s.py

chars:19,words:3,lines:1

包的名字其實就是目錄名字

引用模組:import ***

引用包下面的模組:from *** import ***

目錄下面需要有乙個__init__.py 檔案,檔案內容可以為空

[root@jie py]# ls bao/

__init__.py w.py

[root@jie py]# cat s.py

#!/usr/bin/env python

from bao import w

s = """hello world

python"""

w.wordcount(s)

[root@jie py]# python s.py

chars:19,words:3,lines:1

此時就是 根據目錄引用模組了

python 模組和包 python模組和包

一.模組 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 二.匯入模組 1.語法 import模組名from 模組名 import功能名from 模組名 import i...

python包使用 Python模組和包使用

1 什麼是模組 模組就是乙個.py的檔案 2 為什麼要使用模組?最開始的程式 沒有任何組織 函式 類 模組 包 為了讓程式的組織結構更加靈活清晰,降低耦合性 方便管理 3 如何使用模組 1 import 只能匯入在當前目錄 和內建的模組,使用模組裡的內容需要 模組.來呼叫 2 from.import...

Python 八 模組和包的使用

一 模組和包的概念 在python中,乙個.py檔案就稱之為乙個模組 module python又引入了按目錄來組織模組的方法,稱為包 package 1.模組匯入方法 2 package包的使用請注意,每乙個包目錄下面都會有乙個 init py的檔案,這個檔案是必須存在的,否則,python就把這...