python自定义模块

  1. Python可以添加自定义模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
方法一:echo 'export PYTHONPATH='/root/pythondiy/' >> /root/.bashrc # 此目录为你模块的路径
# 然后使用sys模块查看环境变量
import sys
sys.path          # 返回一个列表
['',
 '/usr/local/bin',
 /root/pythondiy',
 '/usr/local/lib/python27.zip',
 '/usr/local/lib/python2.7',
 '/usr/local/lib/python2.7/plat-linux2',
 '/usr/local/lib/python2.7/lib-tk',
 '/usr/local/lib/python2.7/lib-old',
 '/usr/local/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/site-packages',
 '/usr/local/lib/python2.7/site-packages/setuptools-28.8.0-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg',
 '/usr/local/lib/python2.7/site-packages/IPython/extensions',
 '/root/.ipython']
  
 方法二:
 sys.path.append('/root/pythondiy')        # 此方法临时有效

2. open打开文件区别

1
2
3
open('/etc/passwd').read()                        # 返回全文的是str
open('/etc/passwd').readlines()                   # 返回全文的是一个list
open('/etc/passwd').readline()                    # 每一次读取一行,返回str

3. 自定义模块调用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vim wc.py
#!/usr/bin/python
 
from sys import argv
 
def wc(s):
    chars = len(s)
    words = len(s.split())
    lines = s.count('\n')
    return  lines,words,chars
 
if __name__== '__main__':                      # 只有在执行此脚本时才调用函数。
    with open(argv[1]) as file1:
        print wc(file1.read())
         
vim copy_wc.py
import

4. 执行结果

1
2
3
4
[root@peng pyth]# python wc.py  /etc/passwd    # 返回的是passwd文件统计
(23, 31, 1066)
[root@peng pyth]# python copy_wc.py            # 返回的是hosts文件统计
(2, 10, 158)

5. 导入模块包

1
2
3
4
# 需要在包里创建一个__init__.py空文件,也可以是包的描述
touch __init__.py
ipython
from pyth import wc                            # 这样就导入一个模块包


本文转自 运维小学生 51CTO博客,原文链接:http://blog.51cto.com/yasar/1874832,如需转载请自行联系原作者
上一篇:Kubernetes的Rolling Update实战


下一篇:[转载]项目风险管理七种武器-拳头