四时宝库

程序员的知识宝库

每天一个Python库:sys模块的5个高频用法(建议收藏)

很多人学 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模块到底有多强?新手看完直接会用!》

点关注点赞不迷路,后续更新更多自动化测试经验,我们一起成长!欢迎评论区留言!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接