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中的函数