您好,登錄后才能下訂單哦!
模塊使用
模塊:
模塊式pyth2.on組織代碼的基本方式
一個python腳本可以單獨運行,也可以導入另一個腳本中運行,當腳本被導入運行時,我們將其稱為模塊(module)
所有的點p為文件都可以作為一個模塊導入
模塊名與腳本的文件名相同,例如我們編寫了一個名為hello.pv的腳本則可以在另一個腳本中用import hello.py來導入它
包:
python的模塊可以按目錄組織為包
創建一個包的步驟:
創建一個名字為包名字的目錄,在該目錄下創建一個__init__.py文件,根據需要在該目錄下存放腳本文件或已編譯的擴展及子包
語法:
import pack.m1,pack.m2,pack.m3
sys.path
舉例:
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
#from package.mod import wordCount
#from package import mod
In [10]: from package import mod
In [11]: mod.wordCount('abc 123')
0 2 7
In [15]: from package.mod import wordCount
In [16]: wordCount('ava adsf34')
0 2 10
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。