python 基礎筆記5 封包解包使用包

2021-08-08 21:51:29 字數 2809 閱讀 7321

1. 建立包結構
# subl .     #sublime開啟資料夾

# tree #包 的內部結構

.├── setup.py #包啟動檔案

├── suba

│ ├── aa.py #該檔案包含多個python函式

│ ├── bb.py

│ └── __init__.py #必須檔案

└── subb

├── cc.py

├── dd.py

└── __init__.py

#setup.py的內容 (包的簡介)

from distutils.core import setup

setup(name='jing',version='1.0',description='jing module',author='zhangxiaojing',py_modules=['suba.aa','suba.bb','subb.cc','subb.dd'])

#suba/aa.py 的內容

defshowaa

():print

'aa'

2. 建立包
# pwd

/var/www/python_test/mymoudule

# python setup.py build #建立包命令

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.7

creating build/lib.linux-x86_64-2.7/suba

copying suba/__init__.py -> build/lib.linux-x86_64-2.7/suba

copying suba/aa.py -> build/lib.linux-x86_64-2.7/suba

copying suba/bb.py -> build/lib.linux-x86_64-2.7/suba

creating build/lib.linux-x86_64-2.7/subb

copying subb/__init__.py -> build/lib.linux-x86_64-2.7/subb

copying subb/cc.py -> build/lib.linux-x86_64-2.7/subb

copying subb/dd.py -> build/lib.linux-x86_64-2.7/subb

# tree 檢視包結構

.├── build

│ └── lib.linux-x86_64-2.7

│ ├── suba

│ │ ├── aa.py

│ │ ├── bb.py

│ │ └── __init__.py

│ └── subb

│ ├── cc.py

│ ├── dd.py

│ └── __init__.py

├── setup.py

├── suba

│ ├── aa.py

│ ├── bb.py

│ └── __init__.py

└── subb

├── cc.py

├── dd.py

└── __init__.py

3. 發布包
# python setup.py sdist  #生成(發布)壓縮包

# tree

.├── build

│ └── lib.linux-x86_64-2.7

│ ├── suba

│ │ ├── aa.py

│ │ ├── bb.py

│ │ └── __init__.py

│ └── subb

│ ├── cc.py

│ ├── dd.py

│ └── __init__.py

├── dist

│ └── jing-1.0

.tar

.gz#壓縮包檔案

├── manifest

├── setup.py

├── suba

│ ├── aa.py

│ ├── bb.py

│ └── __init__.py

└── subb

├── cc.py

├── dd.py

└── __init__.py

4. 使用包
# cp dist/jing-1.0.tar.gz /var/www/python_test/ 

# pwd

# cd /var/www/python_test

# tar zxvf jing-1.0.tar.gz #解包

# python setup.py install #安裝包

# python

>>>

from suba import * #匯入使用

>>> suba.aa.showaa()

>>> aa

Python基礎 組包和解包

組包組包 自動操作,當 右邊有多個資料的時候,會自動包裝成為元組 a 10,20,30 print a 解包變數數量 元素數量 會進行一一賦值 a,b,c 10,20,30 print a print b print c 進行變數值的相互交換,不用建立中間臨時變數 a 1 b 2 a,b b,a p...

Python 基礎 5 閉包

什麼是 python 的閉包,通俗來講就是定義兩個函式,其中乙個函式在另乙個函式體裡,外面的函式的返回值是函式 體內函式的記憶體位址,這能有什麼用呢,閉包最大的優點就是,當外部函式執行完成後裡面的變數值不會馬上被銷毀。簡單的閉包函式 def func name def func in age ret...

Python基礎學習筆記 包

包的匯入也有兩種方式 import.from.import.匯入first package包裡的recv msg模組和send msg模組 import first package.recv msg import first package.send msg 呼叫模組中的函式 first packa...