Python:为什么要使用argparse?
#初学者 #python #cli

有成千上万个有关argparse的博客文章,这是一个内置的Python模块来制作自己的CLI。

为什么它比“从头开始”方法更好?

Argparse实际上是内置的,但我有时会读取重新发明轮子的python脚本。

不要误会我的意思。归根结底,您会做任何您想做的事,但是您可能不知道这个简单的模块可以节省数小时的工作。

CLI很难设计

为您的命令构建用户友好的接口可能很乏味。您可能必须处理各种情况:

  • 所需的参数(与argparse添加参数时,可以使用required=True
  • 可选参数
  • 默认值
  • 错误
  • 不良输入
  • 别名
  • 文档(例如用法)

以及更多。您可以完全对此进行编码,但是在大多数情况下,使用ArgParse将更可读性和高效。

如何

让我们创建一个名为myscript.py的文件,然后在内部写下以下内容:

#!/usr/bin/env python3

import argparse

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Python Client")
    parser.add_argument("--myoption", type=str, help="short description for myoption", default="default value")

    args = parser.parse_args()
    print(args.myoption)

然后,在终端中:

python3 myscript.py
python3 myscript.py --myoption="cool"

它是唯一的解决方案吗?

绝对不,这就是Python的美丽。有第三方库可以以各种可能的方式扩展命令行创建。

但是,内置的Argparse可以涵盖大多数需求,同时坚持本机模块,这有时更轻,更容易包含在您的项目中。