模塊:python
模塊式pyth1.on組織代碼的基本方式linux
一個python腳本能夠單獨運行,也能夠導入另外一個腳本中運行,當腳本被導入運行時,咱們將其稱爲模塊(module)vim
全部的點p爲文件均可以做爲一個模塊導入bash
模塊名與腳本的文件名相同,例如咱們編寫了一個名爲hello.pv的腳本則能夠在另外一個腳本中用import hello.py來導入它python2.7
包:函數
python的模塊能夠按目錄組織爲包 建立一個包的步驟: 建立一個名字爲包名字的目錄,在該目錄下建立一個__init__.py文件,根據須要在該目錄下存放腳本文件或已編譯的擴展及子包 語法: import pack.m1,pack.m2,pack.m3
sys.path.net
舉例: In [1]: import sys In [2]: sys.path Out[2]: ['', '/usr/bin', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/IPython/extensions', '/root/.ipython'] vim /root/.bashrc 最後加個export PYTHONPATH=/root/library 成功加入到Python環境變量中 In [1]: import sys In [2]: sys.path Out[2]: ['', '/usr/bin', '/root/library', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/IPython/extensions', '/root/.ipython'] 可被其餘腳本調用的腳本: #!/usr/bin/env python # def wordCount(s): chars = len(s) words = len(s.split()) lines = s.count('\n') print lines,words,chars if __name__=='__main__': #設置後,本腳本內的函數可被其餘腳本調用test.py s = open('/etc/passwd').read() wordCount(s) # [root[@localhost](https://my.oschina.net/u/570656) 20181203]# python words.py 27 52 1324 [root[@localhost](https://my.oschina.net/u/570656) 20181203]# wc /etc/passwd 27 52 1324 /etc/passwd test.py中導入words.py: [root[@localhost](https://my.oschina.net/u/570656) 20181203]# cat test.py #!/usr/bin/env python import words # s="""hello world python""" words.wordCount(s) [root[@localhost](https://my.oschina.net/u/570656) 20181203]# python test.py 27 52 1324 [root[@localhost](https://my.oschina.net/u/570656) 20181203]# ls test.py words.py words.pyc ###調用words後自動生成編譯的文件。
模塊是一個能夠導入的腳本文件 包是一些按目錄組織的模塊和子包,目錄下有__init__.py文件,此文件能夠存放包的信息。 導入模塊和包的語法: import,import as from ... import ...
In [2]: from mode import mode 2 10 158 In [3]: mode.wordCount('abc') 0 1 3 In [4]: import mode.mode In [5]: mode.mode.wordCount('hello') 0 1 5 In [7]: from mode.mode import wordCount In [8]: wordCount('aaa') 0 1 3 #從新命名爲wc In [10]: from mode.mode import wordCount as wc In [11]: wc('aaaddd') 0 1 6