Python Sys 模块
sys 模块可以访问 Python 运行时细节,例如命令行参数、导入路径和当前解释器版本。
import sys
当代码需要直接和 Python 解释器交互,而不只是和应用对象打交道时,就可以使用 sys。
命令行参数
sys.argv 是传递给当前脚本的参数列表。
import sys
sys.argv = ['main.py', '--debug', 'app']
print(sys.argv[0])
print(sys.argv[1:])
main.py
['--debug', 'app']
对于真正的命令行应用,建议使用 argparse。它基于同样的思路,但还提供了校验和帮助信息。
Python 版本
import sys
print(sys.version_info.major)
print(sys.version_info.minor)
3
14
导入搜索路径
sys.path 控制 Python 查找模块的位置。
import sys
print(type(sys.path).__name__)
print(len(sys.path) > 0)
list
True
sys.path 的前几项通常包含当前项目,所以本地模块可以被导入。
标准输入和输出
sys.stdin、sys.stdout 和 sys.stderr 是解释器使用的类文件对象。
import sys
print(sys.stdout.writable())
print(sys.stderr.writable())
True
True
退出程序
import sys
try:
sys.exit(0)
except SystemExit as exc:
print(exc.code)
0