我试图在python中使用click-shell构建一个命令行界面,但我无法弄清楚如何与命令一起提供输入。也就是说,我有一个名为sum
的函数/命令,它需要两个输入a
和b
,在cmd上如何调用myapp > sum 2 3
?目前我所要做的就是调用函数本身的输入。
这是一个工作原理:
from click_shell import shell
@shell(prompt='myapp> ', intro='Command me!')
def myapp():
os.system("cls")
@myapp.command()
def sum():
a = input('enter num1 > ')
b = input('enter num2 > ')
r = float(a) + float(b)
print(f"{a} + {b} = {r}")
字符串
但我想要的是这样的
@myapp.command()
def sum(a, b):
print(f"{a} + {b} = {float(a) + float(b)}")
型
在CMD上,我所要做的就是:
myapp> sum 2 3
:> 2 + 3 = 5
myapp>
型
任何人谁知道如何实现这一点,请帮助。建议更好的包使用也被接受。
1条答案
按热度按时间vhipe2zx1#
我尝试了各种方法,其中一个尝试是添加
@click.argument
装饰器,它可以按照我的要求工作。字符串
任何更好的解决方案都会被接受