Python 命令行工具入门:用 argparse 写一个重复提醒器
写完一个 Python 脚本后,常常需要每次打开代码修改配置才能再次运行。把变化的内容作为命令行参数传入,可以让同一段代码处理不同输入。下面使用标准库 argparse,做一个在终端重复显示提醒文字的小工具。
一、准备脚本
在自己的练习目录创建 remind.py,写入以下内容:
import argparse
parser = argparse.ArgumentParser(description='在终端显示提醒')
parser.add_argument('message', help='要显示的提醒文字')
parser.add_argument('--count', type=int, default=1, help='显示次数,默认为 1')
parser.add_argument('--upper', action='store_true', help='将英文转换为大写')
args = parser.parse_args()
if args.count < 1:
parser.error('--count 必须大于或等于 1')
message = args.message.upper() if args.upper else args.message
for _ in range(args.count):
print(message)
其中 message 是位置参数,用户需要提供提醒内容;--count 和 --upper 是可选参数。示例只在终端打印,不会设置系统通知或定时任务。
二、先运行默认情况
在脚本所在目录运行:
python remind.py "休息一下"
预期显示一行“休息一下”。没有指定 --count 时,程序采用默认值 1。若电脑上的 Python 3 命令名是 python3,请把示例中的 python 替换为 python3。带空格的提醒内容要按所用终端的规则加引号,避免被拆成多个参数。
三、调整次数与格式
python remind.py "hello" --count 2 --upper
预期输出两行 HELLO。type=int 负责把次数转换为整数;store_true 让 --upper 在出现时为真,省略时为假。大写处理调用字符串的 upper 方法,中文一般不会因此改变。
四、查看帮助和错误
执行 python remind.py --help,可以看到程序说明和参数用法。省略必需的提醒文字,或者把次数写成非整数,argparse 会显示用法和错误提示。输入 0 或负数虽然能转换为整数,但不符合这个工具的规则,因此代码用 parser.error 给出明确提示。
可以分别试试 --count 0、--count abc 和不带任何参数的情况,观察错误发生在哪一步。先写下预期,再运行验证,比只测试一个正常输入更容易发现边界问题。
五、扩展时保持职责清晰
这个练习只展示参数解析。以后若增加保存提醒、定时发送等功能,建议先明确文件位置、覆盖规则和运行环境,再分别实现和测试。参数越多,越要让帮助文字说明默认值与限制;也不要把密码或令牌直接写进命令行示例。
掌握位置参数、可选参数、默认值和类型检查后,小脚本就能通过清楚的接口接受输入,而不必每次修改源码。
- 点赞
- 收藏
- 关注作者
评论(0)