sys:用于访问与Python解释器和运行时环境相关的变量和函数
一、sys模块的常用方法
(1)命令行参数:
sys.argv:获取命令行参数列表,第一个元素是脚本名称。
(2)退出程序:
sys.exit([arg]):退出Python程序,可选参数用于指定退出状态。
(3)标准输入输出:
sys.stdin:标准输入流。
sys.stdout:标准输出流。
sys.stderr:标准错误流
(4)解释器信息:
sys.version:获取Python解释器的版本信息。
sys.platform:获取运行平台的信息。
(5)模块路径:
sys.path:返回模块的搜索路径,初始化自环境变量PYTHONPATH。
(6)递归限制:
sys.getrecursionlimit():获取最大递归深度。
sys.setrecursionlimit(limit):设置最大递归深度。
(7)垃圾回收:
sys.getrefcount(object):获取对象的引用计数。
二、sys模块的使用案例
import sys
# (1)命令行参数
print("命令行参数列表:", sys.argv)
# (2)退出程序
# sys.exit() 示例不执行,以免中断
# (3)标准输入输出
print("标准输出流示例")
sys.stderr.write("标准错误流示例\n")
# (4)解释器信息
print("Python版本信息:", sys.version)
print("运行平台信息:", sys.platform)
# (5)模块路径
print("模块搜索路径:", sys.path)
# (6)递归限制
current_limit = sys.getrecursionlimit()
print("当前递归限制:", current_limit)
# 设置新的递归限制
sys.setrecursionlimit(1500)
new_limit = sys.getrecursionlimit()
print("新的递归限制:", new_limit)
# (7)垃圾回收
sample_object = []
ref_count = sys.getrefcount(sample_object)
print("对象引用计数:", ref_count)
输出结果
命令行参数列表: ['main.py', '>', 'log.txt']
标准输出流示例
Python版本信息: 3.8.17 (default, Jul 4 2023, 06:27:59)
[GCC 12.2.0]
运行平台信息: linux
模块搜索路径: ['/Project/mtlcoderunner', '/usr/local/lib/python38.zip', '/usr/local/lib/python3.8', '/usr/local/lib/python3.8/lib-dynload', '/usr/local/lib/python3.8/site-packages', '']
当前递归限制: 1000
新的递归限制: 1500
对象引用计数: 2