pythonSTL---sys

[复制链接]
发表于 2025-10-15 00:46:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
sys 是 Python 尺度库中的一个内置模块,它提供了许多与 Python 表明器和体系情况举行交互的功能。
sys方法

1. 导入 sys 模块

在使用 sys 库的功能之前,须要先导入它:
  1. import sys
复制代码
2. 下令行参数 (sys.argv)

sys.argv 是一个包罗下令行参数的列表。此中,sys.argv[0] 是脚本的名称,后续的元素是转达给脚本的参数。
  1. import sys
  2. # 打印脚本名称print(f"脚本名称: {sys.argv[0]}")# 打印全部下令行参数for i, arg in enumerate(sys.argv):    print(f"参数 {i}: {arg}")
复制代码
假设将上述代码生存为 test.py,在下令行中运行 python test.py arg1 arg2,输出效果将表现脚本名称和转达的参数。
3. Python 表明器信息

3.1 sys.version

sys.version 是一个字符串,包罗了 Python 表明器的版本信息,如 Python 版本号、编译信息等。
  1. import sys
  2. print(sys.version)
复制代码
3.2 sys.version_info

sys.version_info 是一个 namedtuple,包罗了 Python 版本的紧张信息,如主版本号、次版本号、微版本号等。
  1. import sys
  2. print(sys.version_info)print(f"主版本号: {sys.version_info.major}")print(f"次版本号: {sys.version_info.minor}")
复制代码
4. 体系路径 (sys.path)

sys.path 是一个包罗模块搜索路径的列表。Python 在导入模块时,会按照这个列表中的路径序次举行搜索。
  1. import sys
  2. # 打印体系路径for path in sys.path:    print(path)# 可以动态添加路径sys.path.append('/path/to/your/module')
复制代码
5. 退出 Python 表明器 (sys.exit())

sys.exit() 函数用于退出 Python 表明器。可以转达一个整数参数作为退出状态码,默认状态码为 0 表现正常退出。
  1. import sys
  2. try:    # 一些代码逻辑    result = 1 / 0  # 模仿非常except ZeroDivisionError:    print("发生除零错误,步伐退出")    sys.exit(1)  # 以状态码 1 退出
复制代码
6. 尺度输入、输出和错误流

sys 模块提供了对尺度输入 (sys.stdin)、尺度输出 (sys.stdout) 和尺度错误 (sys.stderr) 的访问。
6.1 尺度输出重定向
  1. import sys
  2. # 生存原始的尺度输出original_stdout = sys.stdout# 打开一个文件以写入模式with open('output.txt', 'w') as f:    # 将尺度输出重定向到文件    sys.stdout = f    print("这行文本将被写入文件")# 规复尺度输出sys.stdout = original_stdoutprint("这行文本将表现在控制台")
复制代码
6.2 尺度输入读取
  1. import sys
  2. # 从尺度输入读取一行line = sys.stdin.readline()print(f"你输入的内容是: {line.strip()}")
复制代码
7. 递归深度限定 (sys.getrecursionlimit() 和 sys.setrecursionlimit())

Python 表明器对递归调用的深度有一个默认限定,以防止无穷递归导致栈溢出。可以使用 sys.getrecursionlimit() 获取当前的递归深度限定,使用 sys.setrecursionlimit() 设置新的递归深度限定。
  1. import sys
  2. # 获取当前递归深度限定current_limit = sys.getrecursionlimit()print(f"当前递归深度限定: {current_limit}")# 设置新的递归深度限定sys.setrecursionlimit(2000)new_limit = sys.getrecursionlimit()print(f"新的递归深度限定: {new_limit}")
复制代码
8. 平台信息 (sys.platform)

sys.platform 是一个字符串,用于标识当前 Python 表明器运行的操纵体系平台。
  1. import sys
  2. print(f"当前操纵体系平台: {sys.platform}")
复制代码
常见的平台标识符包罗 'win32'(Windows)、'linux'(Linux)、'darwin'(macOS)等。
9. 最大整数值 (sys.maxsize)

sys.maxsize 表现当前平台上 Python 表明器所能表现的最大整数值。
  1. import sys
  2. print(f"最大整数值: {sys.maxsize}")
复制代码
10. 内置模块信息 (sys.builtin_module_names)

sys.builtin_module_names 是一个包罗全部内置模块名称的元组。
  1. import sys
  2. print("全部内置模块名称:")for module_name in sys.builtin_module_names:    print(module_name)
复制代码
11. 内存使用信息 (sys.getsizeof())

sys.getsizeof() 函数用于返回对象占用的内存巨细(以字节为单元)。
  1. import sys
  2. my_list = [1, 2, 3, 4, 5]list_size = sys.getsizeof(my_list)print(f"列表占用的内存巨细: {list_size} 字节")
复制代码

醉笑陪君三千场,不诉离殇。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表