【发布时间】:2021-07-14 12:17:33
【问题描述】:
说明: 用户需要安装我的实用程序并从中运行两个不同的命令:command_1 和 command_2
为此,我在 setup.py 中使用了以下语法:
entry_points={
'console_scripts': [
'command_1 = src.cli:function_command_1',
'command_2 = src.cli:function_command_2',
]
用户执行后:pip install my_module他可以在命令行中使用两个单独的命令;
例如用户可以运行:
command_1 --parameter_1='p1' --parameter_2='p2'
问题:
如果我的模块执行多个命令,而不是单个命令怎么办?例如:
my_module command_1 --parameter_1='p1' --parameter_2='p2'
my_module command_2 --parameter_1='p3' --parameter_2='p4'
...
my_module command_15 --parameter_1='p15'
有一个解决方案可以使用 click 为应用程序设置不同的单个命令: How can I split my Click commands, each with a set of sub-commands, into multiple files?
有没有人遇到过类似的挑战,如果没有,有什么建议吗?
提前感谢大家
【问题讨论】:
-
如果您想使用标准库执行此操作,您可以使用argparse。以下是一些与您尝试做的类似的相关问题:argparse-with-required-subcommandsget-selected-subcommand-with-argparse
-
Typer 内部使用 Click,但我并没有看到 Typer 有多少好处,至少我没有找到我想要的。
-
能否详细说明您的要求?根据您的问题,听起来您需要一个带有two subcommands 的脚本。你能解释一下为什么这个例子不是你需要的吗?
-
其实,这正是我需要的:stackoverflow.com/questions/54087479/…