You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python click-shell中为命令传递位置参数?

如何在click-shell中为命令传递位置参数?

click-shell 是基于 Click 框架封装的,所以直接复用 Click 的参数定义方式就能实现你的需求,无需额外复杂操作:

修改后的可运行代码

import os
import click
from click_shell import shell

@shell(prompt='myapp> ', intro='Command me!')
def myapp():
    os.system("cls")

@myapp.command()
@click.argument('a', type=float)
@click.argument('b', type=float)
def sum(a, b):
    print(f"{a} + {b} = {a + b}")

关键说明

  • 导入click模块,用@click.argument()装饰器为sum命令定义两个位置参数a和b,指定type=float让框架自动完成类型转换,省去手动转格式的步骤。
  • 现在你在交互式shell里输入myapp> sum 2 3,就能直接输出2.0 + 3.0 = 5.0;如果想保留整数显示,可以把type设为int,或者在输出时自行处理格式。

工具包建议

  • 如果只是需要基础的交互式CLI,click-shell + Click的组合完全够用,它继承了Click所有强大的参数处理能力(可选参数、标志位、子命令嵌套等)。
  • 要是需要更丰富的交互式功能(比如命令自动补全、历史记录搜索、脚本执行),可以考虑cmd2,它专门针对交互式shell做了大量增强,上手成本也不高。

内容的提问来源于stack exchange,提问作者Michael Archman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 20:42:24