python自定义模块和三方模块_python基础知识8——模块1——自定义模块和第三方开源模块...
模塊的認(rèn)識
模塊,用一砣代碼實(shí)現(xiàn)了某個功能的代碼集合。
類似于函數(shù)式編程和面向過程編程,函數(shù)式編程則完成一個功能,其他代碼用來調(diào)用即可,提供了代碼的重用性和代碼間的耦合。而對于一個復(fù)雜的功能來,可能需要多個函數(shù)才能完成(函數(shù)又可以在不同的.py文件中),n個 .py 文件組成的代碼集合就稱為模塊。
如:os 是系統(tǒng)相關(guān)的模塊;file是文件操作相關(guān)的模塊
模塊分為三種:
自定義模塊
內(nèi)置模塊
第三方開源模塊
自定義模塊
1、定義模塊
2、導(dǎo)入模塊
Python之所以應(yīng)用越來越廣泛,在一定程度上也依賴于其為程序員提供了大量的模塊以供使用,如果想要使用模塊,則需要導(dǎo)入。導(dǎo)入模塊有一下幾種方法:
1 import module
2 from module.xx.xx import xx
3 from module.xx.xx import xx as rename
4 from module.xx.xx import *
導(dǎo)入模塊其實(shí)就是告訴Python解釋器去解釋那個py文件
導(dǎo)入一個py文件,解釋器解釋該py文件
導(dǎo)入一個包,解釋器解釋該包下的 __init__.py 文件
那么問題來了,導(dǎo)入模塊時是根據(jù)那個路徑作為基準(zhǔn)來進(jìn)行的呢?即:sys.path
1 import sys
2 print sys.path
結(jié)果:
1 [‘/home/zh/PycharmProjects/s12/day1‘, ‘/usr/local/lib/python2.7/dist-packages/setuptools-18.1-py2.7.egg‘, ‘/usr/local/lib/python2.7/dist-packages/pip-7.1.0-py2.7.egg‘, ‘/usr/local/lib/python2.7/dist-packages/Django-1.8.16-py2.7.egg‘, ‘/home/zh/PycharmProjects/s12‘, ‘/usr/lib/python2.7‘, ‘/usr/lib/python2.7/plat-x86_64-linux-gnu‘, ‘/usr/lib/python2.7/lib-tk‘, ‘/usr/lib/python2.7/lib-old‘, ‘/usr/lib/python2.7/lib-dynload‘, ‘/usr/local/lib/python2.7/dist-packages‘, ‘/usr/lib/python2.7/dist-packages‘, ‘/usr/lib/python2.7/dist-packages/PILcompat‘, ‘/usr/lib/python2.7/dist-packages/gtk-2.0‘, ‘/usr/lib/python2.7/dist-packages/ubuntu-sso-client‘]
如果我們要添加自己的搜索目錄,有兩種方法:
一是直接修改sys.path,添加要搜索的目錄:
>>> importsys
>>> sys.path.append(‘/Users/zh/my_py_scripts‘)
這種方法是在運(yùn)行時修改,運(yùn)行結(jié)束后失效。
第二種方法是設(shè)置環(huán)境變量PYTHONPATH,該環(huán)境變量的內(nèi)容會被自動添加到模塊搜索路徑中。設(shè)置方式與設(shè)置Path環(huán)境變量類似。注意只需要添加你自己的搜索路徑,Python自己本身的搜索路徑不受影響。
通過os模塊可以獲取各種目錄,例如:
1 importsys
2 importos
3
4 pre_path = os.path.abspath(‘../‘)
5 sys.path.append(pre_path)
第三方開源模塊
1、下載安裝
下載安裝有兩種方式:
方法一:利用源碼安裝
在 github.com 網(wǎng)站可以下載第三方庫的源碼(或者其它途徑),得到源碼之后,在本地安裝。
一般情況,得到的碼格式大概都是 zip 、 tar.zip、 tar.bz2 格式的壓縮包。解壓這些包,進(jìn)入其文件夾,通常會看見一個 setup.py 的文件。如果是 Linux 或者 Mac(我是用 ubuntu,特別推薦哦),就在這里運(yùn)行 shell,執(zhí)行命令:
Python setup.py install
如果用的是 windows,需要打開命令行模式,執(zhí)行上述指令即可。
如此,就能把這個第三庫安裝到系統(tǒng)里。具體位置,要視操作系統(tǒng)和你當(dāng)初安裝 Python 環(huán)境時設(shè)置的路徑而定。默認(rèn)條件下,windows 是在?C:\Python2.7\Lib\site-packages,Linux 在?/usr/local/lib/python2.7/dist-packages(這個只是參考,不同發(fā)行版會有差別,具體請讀者根據(jù)自己的操作系統(tǒng),自己找找),Mac 在?/Library/Python/2.7/site-packages。
有安裝就要有卸載,卸載所安裝的庫非常簡單,只需要到相應(yīng)系統(tǒng)的 site-packages 目錄,直接刪掉庫文件即卸載。
1 下載源碼
2 解壓源碼
3 進(jìn)入目錄
4 編譯源碼 python setup.py build
5 安裝源碼 python setup.py install
注:在使用源碼安裝時,需要使用到gcc編譯和python開發(fā)環(huán)境,所以,需要先執(zhí)行:
1 yum install gcc
2 yum install python-devel
3 或
4 apt-get python-dev
安裝成功后,模塊會自動安裝到 sys.path 中的某個目錄中,如:
1 /usr/lib/python2.7/site-packages/
方法二:pip
用源碼安裝,不是我推薦的,我推薦的是用第三方庫的管理工具安裝。有一個網(wǎng)站,是專門用來存儲第三方庫的,所有在這個網(wǎng)站上的,都能用 pip 或者 easy_install 這種安裝工具來安裝。這個網(wǎng)站的地址:https://pypi.Python.org/pypi
首先,要安裝 pip(Python 官方推薦這個,我當(dāng)然要順勢了,所以,就只介紹并且后面也只使用這個工具)。如果讀者跟我一樣,用的是 ubuntu 或者其它某種 Linux,基本不用這個操作,在安裝操作系統(tǒng)的時候已經(jīng)默認(rèn)把這個東西安裝好了(這還不是用 ubuntu 的理由嗎?)。如果因?yàn)槭裁丛?#xff0c;沒有安裝,可以使用如下方法:
Debian andUbuntu:
sudo apt-get install Python-pip
Fedora andCentOS:
sudo yum install python-pip
當(dāng)然,也可以這里下載文件get-pip.py,然后執(zhí)行?Python get-pip.py?來安裝。這個方法也適用于 windows。
pip 安裝好了。如果要安裝第三方庫,只需要執(zhí)行?pip install XXXXXX(XXXXXX 代表第三方庫的名字)即可。
當(dāng)?shù)谌綆彀惭b完畢,接下來的使用就如同前面標(biāo)準(zhǔn)庫一樣。
2、導(dǎo)入模塊
同自定義模塊中導(dǎo)入的方式
3、實(shí)例:安裝第三方模塊 paramiko
paramiko是一個用于做遠(yuǎn)程控制的模塊,使用該模塊可以對遠(yuǎn)程服務(wù)器進(jìn)行命令或文件操作,值得一說的是,fabric和ansible內(nèi)部的遠(yuǎn)程管理就是使用的paramiko來現(xiàn)實(shí)。
1 #pycrypto,由于 paramiko 模塊內(nèi)部依賴pycrypto,所以先下載安裝pycrypto
2
3 #下載安裝 pycrypto
4 wget http://files.cnblogs.com/files/wupeiqi/pycrypto-2.6.1.tar.gz5 tar -xvf pycrypto-2.6.1.tar.gz6 cd pycrypto-2.6.1
7 python setup.py build8 python setup.py install9
10 #進(jìn)入python環(huán)境,導(dǎo)入Crypto檢查是否安裝成功
11
12 #下載安裝 paramiko
13 wget http://files.cnblogs.com/files/wupeiqi/paramiko-1.10.1.tar.gz14 tar -xvf paramiko-1.10.1.tar.gz15 cd paramiko-1.10.1
16 python setup.py build17 python setup.py install18
19 #進(jìn)入python環(huán)境,導(dǎo)入paramiko檢查是否安裝成功
原文:http://www.cnblogs.com/zhenghaonihao/p/6227453.html
總結(jié)
以上是生活随笔為你收集整理的python自定义模块和三方模块_python基础知识8——模块1——自定义模块和第三方开源模块...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三维网格精简算法java版_ISMAR
- 下一篇: 私钥经过哈希计算可以产生公钥_「区块链基