sys模块介绍
sys模块提供了解释器常用及需要修改的变量以及与解释器交互的函数,并且sys模块很常用。
sys模块用法
sys.argv
sys.argv:获取python脚本参数。结果是一个列表类型,第0个索引代表脚本本身。
- 使用方法如下,编辑一脚本test.py:
#!/usr/bin/env python
#coding:utf-8
import sys
print sys.argv
- 执行结果如下:
[kiosk@foundation0 ~]$ python test.py
['test.py']
[kiosk@foundation0 ~]$ python test.py 1 2 3
['test.py', '1', '2', '3']
这时,我们发现sys.argv的结果是一个列表,那么,想要获取脚本传递的第一个参数,使用sys.argv[1]即可,其他的依次类推。
sys.argv应用实例
- 当脚本没有参数时,显示该脚本没有任何参数;
- 当脚本包含参数时,显示内容:该脚本的第1个参数是:xxx.
#!/usr/bin/env python
#coding:utf-8
import sys
if len(sys.argv) == 1:
print '该脚本没有参数'
else:
l = len(sys.argv)
for i in range(1,l):
print '该脚本的第%s个参数是:%s' %(i, sys.argv[i])
sys.path
sys.path是一个列表类型, 存储的内容为pyhton中import module的一个搜索路径。默认情况下,搜索路径是从左向右依次查找。
print sys.path
# 如果你熟悉列表的操作,下面的操作对你来说,超级简单(easy)!!!
# 将/mnt目录追加到python搜索路径列表的最后;
sys.path.append('/mnt')
# 将/mnt目录插入到python搜索路径的最开始;
sys.path.insert(0,'/mnt')
# 将/mnt目录从python的搜索路径中删除;
sys.path.remove('/mnt')
# 清空python的所有默认搜索路径
sys.apth = []
sys.builtin_module_names
sys.builtin_module_names列表中包含python解释器中所有内建模块的名称.
builtin_module_names应用实例
用户输入一模块,脚本呢脚本判断如下:
- 如果该模块是python内置模块,打印’xxx module built-in’
- 如果该模块不是pyhton内置模块,显示该模块所在路径;
#!/usr/bin/env python
#coding:utf-8
import sys
def dump(module):
print module, '==>'
if module in sys.builtin_module_names:
print '<Built-in>'
else:
module = __import__(module)
print module.__file__
if __name__ == '__main__':
my_module = raw_input('your module:')
dump(my_module)