2018-12-3python筆記(2.5-2.6模塊使用)
比如 string os sys 模塊
模塊是Python組織代碼的基本方式。
一個Python腳本可以單獨運行,也可以導入到另一個腳本中運行,當腳本被導入運行時,我們將其稱為模塊(module)。
所有的.py文件都可以作為一個模塊導入
模塊名與腳本的文件名相同
例如我們編寫了一個名為hello.py的腳本,則可以在另一個腳本中用import hello語句來導入它。
包
Python的模塊可以按目錄組織為包
創建一個包的步驟:
- 創建一個名字為包名的目錄
- 在該目錄下創建一個init.py文件(必須有這樣一個文件,python才會把它識別成是一個包)
- 根據需要,在該目錄下存放腳本文件或已編譯的擴展及子包
- import pack.m1, pack.m2, pack.m3 import 包名.模塊名
import sys
sys.path 顯示所有python會搜索的模塊路徑
[‘‘,
‘/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/lib/python2.7/site-packages‘,
如果模塊不存在 則拋出異常
大部分模塊都是在/usr/lib64/python2.7目錄下
也可以自定義python path 比如想把 /root/library 加入進來 則可以sys.path.append(‘/root/library‘) 或者修改.bashrc文件 export PYTHONPATH
自己寫的.py腳本也可以當成模塊來導入
統計一個文件有多少字符,多少單詞,多少行的模塊
1.py文件
#!/usr/bin/python
-- coding:UTF-8 --
def wordCount(s):
chars = len(s)
lines = s.count(‘\n‘) 這樣統計比較好
#lines = len(s.split(‘\n‘)) 這樣統計會多統計一行
print lines,words,chars
s=open(‘/etc/passwd‘,‘r‘).read()
wordCount(s)
import 導入的腳本名不能以數字開頭
如果新的腳本導入模塊,默認找的是當前目錄下的模塊 並產生一個.pyc被編譯過的模塊
調用模塊中的函數 使用 模塊名.函數名(參數) 來調用
問題:確保調用模塊的時候避免執行模塊內的本身的輸出,而只執行調用者自己的輸出
則需要 在模塊中做一個判斷 if name == ‘main‘
#!/usr/bin/python
-- coding:UTF-8 --
def wordCount(s):
chars = len(s)
words = len(s.split())
lines = s.count(‘\n‘) 這樣統計比較好
#lines = len(s.split(‘\n‘)) 這樣統計會多統計一行
print lines,words,chars
if name==‘main‘
s=open(‘/etc/passwd‘,‘r‘).read()
wordCount(s)
模塊是一個可以導入的Python腳本文件;
包是一些按目錄組織的模塊和子包,目錄下有init.py文件,此文件可以存放包的信息;
導入模塊和包的語法:
- import , import as as可以在導入的時候給它起個新名字 import wc as 新名字
- from … import … 比如 from 包名 import 模塊名 或者 import 包名.模塊名 或者 包名.模塊名.函數名 都可以
2018-12-3python筆記(2.5-2.6模塊使用)