Python模块之sys模块

发布时间 2024-01-03 15:38:41作者: Lea4ning

sys模块

【一】概要

  • sys 模块是 Python 中的一个内建模块,提供了与 Python 解释器和其环境相关的功能。

【二】常用方法

常用方法 解释
sys.argv 命令行参数list,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时sys.exit(0),错误退出时sys.exit(1)
sys.version 获取python解释器的版本信息
sys.path 返回模块的搜索路径,初始化时使用PYTHON环境变量的值。数据类型是列表,可以通过append添加环境变量
sys.platform 返回系统操作平台名称
  1. 命令行参数:
    • sys.argv: 包含命令行参数的列表,其中 sys.argv[0] 是脚本名称。
  2. 路径相关:
    • sys.path: 包含模块搜索路径的列表。
    • sys.modules: 包含已导入模块的字典。
  3. 标准输入输出:
    • sys.stdin: 标准输入流。
    • sys.stdout: 标准输出流。
    • sys.stderr: 标准错误流。
  4. 程序退出:
    • sys.exit([arg]): 退出程序,可选参数 arg 是返回给调用进程的退出码。
  5. 运行时配置:
    • sys.version: 包含 Python 解释器的版本信息。
    • sys.platform: 包含运行 Python 解释器的平台信息。
  6. 其他功能:
    • sys.getsizeof(): 返回对象的字节大小。
    • sys.getrecursionlimit(), sys.setrecursionlimit(): 获取/设置递归深度限制。
    • sys.getdefaultencoding(), sys.setdefaultencoding(): 获取/设置默认字符编码。

【三】详解

sys.argv:命令行参数list

import sys

# 获取脚本的名称
script_name = sys.argv[0]
print(f"Script Name: {script_name}")

# 获取命令行参数
arguments = sys.argv[1:]
print(f"Arguments: {arguments}")

# 执行脚本时,例如:python script.py arg1 arg2
# script_name 的值是 script.py
# arguments 的值是 ['arg1', 'arg2']

image-20240103152959742

image-20240103153054865

sys.exit[0]:退出程序

  • 退出程序并可以指定返回的数字
import sys
count = 0
while True:
    count += 1
    print(count)
    if count == 4:
        sys.exit(0)

image-20240103153440017

image-20240103153510855

sys.version : 获取python解释器的版本信息

import sys

print(sys.version)
# 3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:50:30) [MSC v.1933 64 bit (AMD64)]
print(type(sys.version))   # <class 'str'>
'''可以用来判断解释器版本是否正确'''
import sys

if "3.10.8" not in sys.version:
    print("版本不对")
else:
    print("可以使用")

sys.platform : 返回系统操作平台名称

import sys

print(sys.platform)
# win32
  • Windows: win32
  • Linux: linux
  • macOS: darwin
'''可以对操作平台进行判断'''
import sys

if "linux" != sys.platform:
    print("当前模块只可以在linux系统上运行!")
else:
    print("可以运行")

sys.path : 返回模块的搜索路径

import sys

print(sys.path)
# ['D:\\Files\\Python\\pythonProject1', 'D:\\Files\\Python\\pythonProject1', 'D:\\Apps\\pycharm\\PyCharm 2023.2.1\\plugins\\python\\helpers\\pycharm_display', 'D:\\Apps\\Python310\\python310.zip', 'D:\\Apps\\Python310\\DLLs', 'D:\\Apps\\Python310\\lib', 'D:\\Apps\\Python310', 'D:\\Apps\\Python310\\lib\\site-packages', 'D:\\Apps\\pycharm\\PyCharm 2023.2.1\\plugins\\python\\helpers\\pycharm_matplotlib_backend']
import sys

sys.path.append(r"D:\Files\Python\pythonProject1\1\2\3")
'''路径只需要导入到文件夹那一层就好了,不能直接导入xxx.py'''
import sys_test
sys_test.index()
# 这是test.py中的函数

image-20240103152229786