很多人学 Python,一直卡在“写不了实用脚本”。
其实,会用标准库,效率直接翻倍。
今天分享的是:sys 模块。
这个模块虽然基础,但非常实用,下面是我亲测常用的5个功能
1. 获取命令行参数(自动化脚本必用)
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D7.py
@Date :2025/4/16 10:59
@Author : malijie
"""
import sys
print(sys.argv)
运行命令:
python D7.py hello world
输出:
实际用途:写自动化脚本、定制参数、批量处理文件时非常方便。
2. 控制程序退出(比 exit() 更安全)
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D7.py
@Date :2025/4/16 10:59
@Author : malijie
"""
import sys
sys.exit("遇到异常,程序中止")
适合:流程控制、异常中断、命令行工具。
3. 动态添加路径(模块导入找不到?用它解决)
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D7.py
@Date :2025/4/16 10:59
@Author : malijie
"""
import sys
print(" 添加前的 sys.path:")
for idx, path in enumerate(sys.path):
print(f" ID[{idx}]: {path}")
# 添加自定义路径
custom_path = '/Users/malijie/PycharmProjects/pythonProject/D6'
sys.path.append(custom_path)
print("\n 添加后 sys.path:")
for idx, path in enumerate(sys.path):
print(f" ID[{idx}]: {path}")
场景:导入本地脚本包、测试多个项目时使用。
4. 获取当前 Python 版本(做兼容时超方便)
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D7.py
@Date :2025/4/16 10:59
@Author : malijie
"""
import sys
print(sys.version)
适合:写兼容性脚本,或者判断运行环境。
5. 控制输出(日志处理/重定向流)
"""
@Project :Fish
@File :D7.py
@Date :2025/4/16 10:59
@Author : malijie
"""
import sys
print("每天一个Python库")
print("sys模块的5个高频用法")
sys.stdout.write("每天一个Python库:sys模块的5个高频用法")
sys.stdout.write("这是一行没有换行的输出")
高级用法:搭配 logging 或构建 CLI 工具时非常实用。
小项目实践:写一个 CLI 问候工具
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :Fish
@File :D7.py
@Date :2025/4/16 10:59
@Author : malijie
"""
import sys
import sys
if len(sys.argv) < 2:
print(" 请传入名字")
sys.exit()
name = sys.argv[1]
print(f"你好,{name}!")
运行:
python D7.py 周杰伦
是不是很简单、但很实用?
学习建议
o 前期基础知识+标准库推荐 自学
o 学完后必须要 结合具体场景做练习
o 有目标、带项目地学习,更容易提升
总结一下
o sys 是标准库中的基础模块,但非常实用
o 能做参数处理、异常退出、路径控制、环境判断
o 学会它,对写脚本/做工具有立竿见影的提升
明天继续更新
下期内容:《re模块到底有多强?新手看完直接会用!》
点关注点赞不迷路,后续更新更多自动化测试经验,我们一起成长!欢迎评论区留言!