我正在尝试编写一个python程序,该程序将在cli中提供一些github功能,如创建问题、创建repo、创建PRs等
我想出了类似的办法
github create issue --title <title> --description <description> --user <user> --repo <repo>
为此,我使用了argparse
import argparse
parser = argparse.parser()
parser.add_argument('create',
options=['issue', 'repo', 'pull')
action='store')
parser.add_argument('--title', action="store", type=str)
parser.add_argument('--description', action="store", type=str)
parser.add_argument('--user', action="store")
parser.add_argument('--repo')
parser.parse_args('create issue --title title --description desc --user user --repo repo')
我使用选项--title
和--descriptions
以关键字形式获取信息
虽然选项是可选的,但根据我的分析风格:
create
是issue
,则需要--title
、--description
、--user
、--repo
李>解析命令github create issue --title title --description desc --user user --repo repo
的正确方法是什么
首先是一些调整:
可以简化为
因为此操作和类型是默认值。您可以使用
repo
执行此操作从命令行读取并将值放入
args
命名空间中可以使用模拟的字符串列表来测试此解析器
注意,我删除了
create
定义将放入
args
的positional
作为args.create
。它接受的字符串是choices
(而不是options
)。另一种方法是使用create
;在这种情况下,它的行为与其他参数类似,只是接受的值有一个限制如果您想为特定值要求一些参数,则需要在解析后进行测试,例如
这几乎是最近的How can I make Python argparse to have dependency的复制品,它也作为复制品关闭
另一种方法是使用
subparsers
。但是您可以阅读文档和前面的[argparse]问题中的内容尝试这些想法,然后回答一个新问题
您必须编写一个自定义的
usage
和/或help
段落来向用户描述约束相关问题 更多 >
编程相关推荐