-
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,如需转载请自行联系原作者