sys模块提供了一系列有关Python运行环境的变量和函数。
常见用法
sys.argv
可以用sys.argv获取当前正在执行的命令行参数的参数列表(list)。
变量解释
sys.argv[0]当前程序名
sys.argv[1]第一个参数
sys.argv[0]第二个参数
#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
import sys
# 获取脚本名字
print('脚本名: %s' %(sys.argv[0]))
# 获取参数列表
print('参数列表:')
for i in sys.argv:
print(i)
# 统计参数个数
print('参数个数: %s'%(len(sys.argv)-1))
在cmd中执行
E:\python_script\day5\test4>python test.py 1 2 3
执行输出
脚本名: test.py
参数列表:
test.py
1
2
3
参数个数: 3
sys.path
返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
print(sys.path)
在cmd中执行
E:\python_script\day5\test4>python test.py
执行输出
['E:\\python_script\\day5\\test4', 'C:\\Program Files\\Python36\\python36.zip', 'C:\\Program Files\\Python36\\DLLs', 'C:\\Program Files\\Python36\\lib', 'C:\\Progra
m Files\\Python36', 'C:\\Program Files\\Python36\\lib\\site-packages']
这个一般在导入模块的时候,需要把项目根目录追加到搜索路径中
比如test.py的根目录为day5,需要添加环境变量
import sys,os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(BASE_DIR)
#添加系统环境变量
sys.path.append(BASE_DIR)
print(sys.path)
执行输出
E:\python_script\day5
['E:\\python_script\\day5\\test4', 'E:\\python_script', 'C:\\Program Files\\Python36\\python36.zip', 'C:\\Program Files\\Python36\\DLLs', 'C:\\Program Files\\Python36\\lib', 'C:\\Program Files\\Python36', 'C:\\Program Files\\Python36\\lib\\site-packages', 'E:\\python_script\\day5']
常用的就是以上2个方法
下面介绍几个其他方法
sys.platform
获取当前执行环境的平台,如win32表示是Windows系统,linux2表示是linux平台
import sys
print(sys.platform)
执行输出 win32
sys.exit(n)
调用sys.exit(n)可以中途退出程序,当参数非0时,会引发一个SystemExit异常,从而可以在主程序中捕获该异常。
import sys
print('running...')
try:
sys.exit(1)
except SystemExit:
print('SystemExit exit 1')
print('exited')
执行输出
running...
SystemExit exit 1
exited
sys.version
获取Python解释程序的版本信息
import sys
print(sys.version)
执行输出
3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)]