Python第八天 模塊 包 全局變量和內置變量__name__ Python path
目錄
Python第二天 變量 運算符與表達式 input()與raw_input()區別 字符編碼 python轉義符 字符串格式化
Python第三天 序列 5種數據類型 數值 字符串 列表 元組 字典
Python第四天 流程控制 if else條件判斷 for循環 while循環
Python第五天 文件訪問 for循環訪問文件 while循環訪問文件 字符串的startswith函數和split函數
Python第七天 函數 函數參數 函數變量 函數返回值 多類型傳值 冗余參數 函數遞歸調用 匿名函數 內置函數 列表表達式/列表重寫
Python第八天 模塊 包 全局變量和內置變量__name__ Python path
Python第九天 面向對象 類定義 類的屬性 類的方法 內部類 垃圾回收機制 類的繼承 裝飾器
Python第十天 print >> f,和fd.write()的區別 stdout的buffer 標準輸入 標準輸出 標準錯誤 重定向 輸出流和輸入流
Python第十二天 收集主機信息 正則表達式 無名分組 有名分組
Python第十四天 序列化 pickle模塊 cPickle模塊 JSON模塊 API的兩種格式
Python第十五天 datetime模塊 time模塊 thread模塊 threading模塊 Queue隊列模塊 multiprocessing模塊 paramiko模塊 fabric模塊
模塊
模塊是Python組織代碼的基本方式。
一個Python腳本可以單獨運行,也可以導入到另一個腳本中運行,當腳本被導入運行時,我們將其稱為模塊(module)。
所有的.py文件都可以作為一個模塊導入
模塊名與腳本的文件名相同
模塊是一個可以導入的Python腳本文件
例如我們編寫了一個名為hello.py的腳本,則可以在另一個腳本中用import hello語句來導入它。
模塊名不能以數字命名,比如1.py,用數字命名在py腳本里導入模塊的時候會報錯
------------------------------------------------------------
包
Python的模塊可以按目錄組織為包
創建一個包的步驟:
- 創建一個名字為包名的目錄
- 在該目錄下創建一個__init__.py文件,此文件可以存放包的信息
- 根據需要,在該目錄下存放腳本文件或已編譯的擴展及子包
- 使用的時候,在腳本頭部 只導入模塊: 包名.模塊名,也可以整個包導入
import pack.m1, pack.m2, pack.m3
import pack
day04:包名
wc:模塊名
wordCount:函數名
from day04 import wc
或
import day04.wc
或
from day04.wc import wordCount
或
from day04.wc import wordCount as wc123 給函數/模塊起一個別名,別名為wc123
導入模塊和包的語法:
- import , import as
- from … import …
- from … import … as
------------------------------------------------------------
全局變量__name__
腳本名:test1.py
vi test1.py
if __name__ == '__main__': print 'a' if __name__ == 'test1': print 'b'
vi test2.py
import test1
python test2.py:會輸出 b,不會輸出a
__name__是python的內置變量,它有兩個值:'__main__'或者模塊名。
它的值為’__main__'時表示當前模塊(即python腳本)是被直接執行,如果模塊被其他文件導入時,__name__的值為模塊名字。
------------------------------------------------------------
python環境變量
Python path
得到python的path環境變量,類似shell的$PATH
import sys
sys.path
sys.path
['',
'/usr/bin',
'/usr/lib64/python26.zip',
'/usr/lib64/python2.6',
'/usr/lib64/python2.6/plat-linux2',
'/usr/lib64/python2.6/lib-tk',
'/usr/lib64/python2.6/lib-old',
'/usr/lib64/python2.6/lib-dynload',
'/usr/lib64/python2.6/site-packages',
'/usr/lib/python2.6/site-packages',
'/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info',
'/usr/lib/python2.6/site-packages/IPython/extensions',
'/home/yonghualin/.ipython']
第一種方法
添加路徑到Python PATH環境變量
sys.path.append('/root/ss')
第二種方法
PYTHONPATH變量是shell下定義,會自動添加到sys.path列表里
在/etc/profile里
export PYTHONPATH=/root/test
export PATH=$PATH:/usr/local/mysql/bin/
示例程序
wc.py #!/usr/bin/python def wordCount(s): chars=len(s) words=len(s.split()) lines=s.count('\n')+1 print lines,words,chars print s.split() if __name__ == '__main__': --->內置變量__name__ ,得出的值為 '__main__' s= open('/etc/passwd').read() wordCount(s) ------------------------------------- test.py #!/usr/bin/python import wc s="""hello world python""" wc.wordCount(s)
文章列表