作为气象领域的Python学习者,我们经常需要处理不同的数据或调整脚本参数。如果每次修改参数都要打开代码文件,既麻烦又容易出错。
特别是在做项目的时候处理大批时间序列数据,每次使用都要改一次输入时间,非常浪费时间
那么怎么提高我们的代码复用率呢?
通过命令行传参,我们可以直接在运行脚本时输入参数,让代码更灵活、更通用!
下面介绍Python传参的两种方式:初级版(sys.argv
)和进阶版(argparse)。
sys.argv
的魔法sys.argv
可以让我们直接通过命令行输入参数,无需修改代码内部就能适应不同的场景,比如切换气象数据文件路径、调整计算参数等。
sys.argv
是一个列表,存储了所有命令行参数。sys.argv[0]
)是脚本本身的名称,后续元素才是用户输入的参数。int()
)。# 案例:script.py
import sys
# 运行命令: python script.py 温度 30
print("脚本名:", sys.argv[0]) # 输出 script.py
print("参数类型:", sys.argv[1]) # 输出 "温度"
print("参数值:", int(sys.argv[2])) # 输出整数 30
!python script.py 温度 30
脚本名: script.py
参数类型: 温度
参数值: 30
注意:
假设定义变量为 脚本名, 功能描述, 参数值 = sys.argv
,运行时需要输入两个参数(例如 python script.py 降雨量 50
),否则会报错
sys.argv
就显得笨拙。argparse 模块提供了更强大的解析功能# 案例:weather_tool.py
import argparse
# 创建解析器
parser = argparse.ArgumentParser(description="气象数据分析工具")
# 添加参数
parser.add_argument("--file", type=str, required=True, help="输入数据文件路径")
parser.add_argument("--days", type=int, default=7, help="分析天数(默认7天)")
# 解析参数
args = parser.parse_args()
print("开始处理文件:", args.file)
print("分析天数:", args.days)
!python weather_tool.py --file data.csv --days 5
开始处理文件: data.csv
分析天数: 5
功能说明:
--file
:输入文件路径(必填项,required=True
)。--days
:数值自动转成整数,不填时默认用7天。sys.argv
适合简单场景:少量参数的快速读取argparse
适用复杂需求:参数多、类型检查、生成帮助文档(python script.py -h
)时更高效。通过传参功能,我们能将代码和数据分离,提升脚本的通用性和复用性。试试用这两种方法改造你的气象分析脚本吧!🌦️
相信看完这个,你的搬砖能力又level up了
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有