sys库主要是处理python解释器相关的操作,sys 主要关注于与 Python 解释器和运行环境的交互,如命令行参数、标准输入输出等。
1.获取命令行参数:
在命令行中运行 python script.py 1 2
import sys
# 输出命令行参数
print("脚本名称:", sys.argv[0]) ##script.py
if len(sys.argv) > 1:
print("传递的参数:", sys.argv[1:]) ##['1','2']
else:
print("没有传递任何参数")
2.和os库配合加入(sys.path)路径:
import os, sys
current_dir = os.path.dirname(__file__) #获取当前文件路径
parent_dir = os.path.abspath(os.path.join(current_dir, os.pardir)) #获取父文件路径
sys.path.append(parent_dir) #将父路径加入到sys.path中
3.标准输入输出和错误处理:sys.stdin,sys.stdout,sys.stderr
import sys
print("请输入一些文本:")
input_text = sys.stdin.read() ##等待用户输入,按ctrl+Z中止
print(f"你输入的是:{input_text}")
import sys
# 将标准输出重定向到一个文件
with open('output.txt', 'w') as f:
sys.stdout = f
print("这行文字将被写入 output.txt 文件,而不是显示在控制台上")
# 记得重置标准输出
sys.stdout = sys.__stdout__
print("标准输出已重置,这行文字会显示在控制台上")
import sys
try:
x = 1 / 0
except ZeroDivisionError:
sys.stderr.write("Error: 除零错误!\n")