Python模块和包的概念

模块
模块是Python组织代码的基本方式。一个Python脚本可以单独运行,也可以导入到另一个脚本中运行,当脚本被导入运行时,我们将其称为模块(module)。所有的.py文件都可以作为一个模块导入。模块名与脚本的文件名相同。模块是一个可以导入的Python脚本文件。例如我们编写了一个名为hello.py的脚本,则可以在另一个脚本中用import  hello语句来导入它。模块名不能以数字命名,比如1.py,用数字命名在py脚本里导入模块的时候会报错。


Python的模块可以按目录组织为包。
创建一个包的步骤:
- 创建一个名字为包名的目录
- 在该目录下创建一个__init__.py文件,此文件可以存放包的信息
- 根据需要,在该目录下存放脚本文件或已编译的扩展及子包
- 使用的时候,在脚本头部 只导入模块: 包名.模块名,也可以整个包导入
import pack.m1, pack.m2, pack.m3
import pack
 例子:
test:包名
wo:模块名
wordCount:函数名
from  test import  wo

import  test.wo

from  test.wo  import  wordCount

from  test.wo  import  wordCount as wo123  给函数/模块起一个别名,别名为wo123

导入模块和包的语法:
- import , import as
- from … import …
- from … import … as
全局变量__name__
脚本名:
(1)test1.py
if __name__ =='__main__':
print 'a'
if __name__ == 'test1':
print 'b'
(2)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  

第一种方法
添加路径到Python PATH环境变量
sys.path.append('/root/ss')

第二种方法
PYTHONPATH变量是shell下定义,会自动添加到sys.path列表里
在/etc/profile里
export PYTHONPATH=/root/test
export PATH=$PATH:/usr/local/mysql/bin/

示例:
(1)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)
(2)test.py
#!/usr/bin/python
import wc            
s="""hello world python"""
wc.wordCount(s)


猜你喜欢

转载自blog.csdn.net/yaroo/article/details/78495995