写本地脚本时,如果只是接几个参数,不一定要马上加第三方 CLI 库。Python 标准库里的 argparse 已经能把帮助信息、默认值、类型转换这些事处理掉。
环境:Python 3.8+。保存成 args_demo.py:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('input')
parser.add_argument('-n', '--name', default='mesh')
parser.add_argument('--count', type=int, default=1)
parser.add_argument('--dry-run', action='store_true')
args = parser.parse_args()
print(args)
for i in range(args.count):
print(f'{i + 1}: {args.name} -> {args.input}')
if args.dry_run:
print('只是预览,不做写入')
跑一下:
python args_demo.py data.txt --name dev --count 2 --dry-run
python args_demo.py --help
type=int 这种小转换挺省心,参数错了也会直接给出提示。要是后面要做很多子命令、彩色输出、交互提示,再考虑 Typer、Click 之类的会更舒服。