2.5 模块使用(1) 2.6 模块使用(2)

原创
2018/12/03 23:28
阅读数 14

2.5 模块使用(1)

模块

模块可以在系统中找到源文件

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

包就是模块的集合

python的模块可以按目录组织为包

创建一个包的步骤:

  1. 创建一个名字为包名的目录
  2. 在该目录下创建一个__init__.py文件,可以为空,必须有这个文件才会把他们视为包
  3. 根据需要,在该目录下存放脚本文件或已编译的扩展及子包
  4. import pack.m1,pack.m2,pack.m3

python 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/lib/python2.7/site-packages',
'/usr/lib/python2.7/site-packages/cloud_init-0.7.6-py2.7.egg',
'/usr/lib/python2.7/site-packages/IPython/extensions',
'/home/deployer/.ipython']

自定义path

In [3]: sys.path.append('/root/library)

或者更改环境变量

vim /root/.bashrc
export  PYTHONPATH=/root/library #多个路径以冒号分开
./root/.bashrc   #使变量剩下

创建一个模块

统计一文件有几个字符串,有几个单词

vim wc.py
#!/usr/bin/python

def wordCount(s):
    chars = len(s)
    words = len(s.split())
    lines = len(s.count('\n'))
    print lines, words, chars

s = open('/etc/passwd').read()
wordCount(s)
vim 2.py
#!/usr/bin/python

improt wc

split 以 “\n”来统计行数的话,最末也会记为一个行数

  • 模块不能以数字来命名

2.6 模块使用(2)

  1. name 内置变量
  2. print name 输出结果为 main
  3. 在不影响源文件输出的时候,可以对模块内置里面的变量做一个判断,假设输出的结果为 main 就输出结果
def wordCount(s):
    chars = len(s)
    words = len(s.split())
    lines = len(s.count('\n'))       
    print lines, words, chars

if __name__ == __main__
    s = open('/etc/passwd').read()
    wordCount(s)

导入包

from 包名 import 模块名

导入包里面的变量

from 包名.模块名 import 变量名

可以加别名

from 包名.模块名 import 变量名 as 别名
展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部