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 |
返回系统操作平台名称 |
- 命令行参数:
sys.argv: 包含命令行参数的列表,其中 sys.argv[0] 是脚本名称。
- 路径相关:
sys.path: 包含模块搜索路径的列表。
sys.modules: 包含已导入模块的字典。
- 标准输入输出:
sys.stdin: 标准输入流。
sys.stdout: 标准输出流。
sys.stderr: 标准错误流。
- 程序退出:
sys.exit([arg]): 退出程序,可选参数 arg 是返回给调用进程的退出码。
- 运行时配置:
sys.version: 包含 Python 解释器的版本信息。
sys.platform: 包含运行 Python 解释器的平台信息。
- 其他功能:
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']


sys.exit[0]:退出程序
import sys
count = 0
while True:
count += 1
print(count)
if count == 4:
sys.exit(0)


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("可以使用")
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中的函数
