从代码中调用单击命令

2024-01-13

我有一个使用以下命令包装为命令的函数click http://click.pocoo.org/5/。所以它看起来像这样:

@click.command()
@click.option('-w', '--width', type=int, help="Some helping message", default=0)
[... some other options ...]
def app(width, [... some other option arguments...]):
    [... function code...]

我对此功能有不同的用例。有时候,通过命令行调用是可以的,但有时候我也想直接调用函数

from file_name import app
width = 45
app(45, [... other arguments ...]) 

我们怎样才能做到这一点?我们如何使用 click 来调用已包装为命令的函数?我找到了这个相关帖子 https://stackoverflow.com/questions/40091347/call-another-click-command-from-a-click-command,但我不清楚如何使其适应我的情况(即从头开始构建一个 Context 类并在单击命令函数之外使用它)。

EDIT:我应该提到:我无法(轻松)修改包含要调用的函数的包。所以我正在寻找的解决方案是如何从调用方来处理它。


我尝试使用 Python 3.7 并单击 7 以下代码:

import click

@click.command()
@click.option('-w', '--width', type=int, default=0)
@click.option('--option2')
@click.argument('argument')
def app(width, option2, argument):
    click.echo("params: {} {} {}".format(width, option2, argument))
    assert width == 3
    assert option2 == '4'
    assert argument == 'arg'


app(["arg", "--option2", "4", "-w", 3], standalone_mode=False)

app(["arg", "-w", 3, "--option2", "4" ], standalone_mode=False)

app(["-w", 3, "--option2", "4", "arg"], standalone_mode=False)

All the app通话正常!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从代码中调用单击命令 的相关文章

  • 递归 lambda 表达式可能吗?

    我正在尝试编写一个调用自身的 lambda 表达式 但我似乎找不到任何语法 或者即使它是可能的 本质上我想将以下函数传输到以下 lambda 表达式中 我意识到这是一个愚蠢的应用程序 它只是添加 但我正在探索可以在 python 中使用 l
  • 如何在python 3.7中生成条形码

    我正在使用 python 3 7 为了生成条形码 我尝试使用安装 pyBarcode 库pip install pyBarcode 但它显示以下错误 找不到满足 pyBarcode 要求的版本 来自版本 找不到 pyBarcode 的匹配分
  • 使用 pygame 显示 unicode 符号

    我检查了其他答案 但不明白为什么我的代码错误地显示 This is what I currently see https i stack imgur com 8tNIK png 这是关于文本渲染的相关代码 font pygame font
  • Python 2.7 中的断言对我来说不起作用示例assertIn

    我的 Mac 上安装了 python 2 7 通过在终端中运行 python v 进行验证 当我尝试使用任何新的 2 7 断言方法时 我收到 AtributeError 我看过http docs python org 2 library u
  • 搜索多个字段

    我想我没有正确理解 django haystack 我有一个包含多个字段的数据模型 我希望搜索其中两个字段 class UserProfile models Model user models ForeignKey User unique
  • 如何使用文本相似性删除 pandas 数据框中相似(不重复)的行?

    我有数千个数据 这些数据可能相似也可能不相似 使用 python 的默认函数 drop duplicates 并没有真正的帮助 因为它们只检测相似的数据 例如 如果我的数据包含类似以下内容怎么办 嗨 早上好 嗨 早上好 Python 不会将
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • Gspread如何复制sheet

    在 Stackoverflow 上进行谷歌搜索和搜索后 我想我找不到有关如何复制现有工作表 现有模板工作表 并将其保存到另一个工作表中的指南 根据文档 有重复表 https gspread readthedocs io en latest
  • Django 的 request.FILES 出现 UnicodeDecodeError

    我在视图调用中有以下代码 def view request body u for filename f in request FILES items body body Filename filename n f read n 在某些情况下
  • Python新式类和__subclasses__函数

    有人可以向我解释为什么这有效 在 Python 2 5 中 class Foo object pass class Bar Foo pass print Foo subclasses 但这不是 class Foo pass class Ba
  • 在 Windows 上使用 apache mod_wsgi 运行 Flask 应用程序时导入冲突

    我允许您询问我在 Windows 上使用您的 mod wsgi portage 托管 Flask 应用程序时遇到的问题 我有两个烧瓶应用程序 由于导入冲突 只有一个可以同时存在 IE 如果请求申请 1 我有回复 然后 如果我请求应用程序 2
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • 返回表示每组内最大值的索引的一系列数字位置

    考虑一下这个系列 np random seed 3 1415 s pd Series np random rand 100 pd MultiIndex from product list ABDCE list abcde One Two T
  • Mac OSX 10.6 上的 Python mysqldb 不工作

    我正在使用 Python 2 7 并尝试让 Django 项目在 MySQL 后端运行 我已经下载了 mysqldb 并按照此处的指南进行操作 http cd34 com blog programming python mysql pyth
  • SocketIO + Flask 检测断开连接

    我在这里有一个不同的问题 但意识到它可以简化为 如何检测客户端何时从页面断开连接 关闭其页面或单击链接 换句话说 套接字连接关闭 我想制作一个带有更新用户列表的聊天应用程序 并且我在 Python 上使用 Flask 当用户连接时 浏览器发
  • Elasticsearch 通过搜索返回拼音标记

    我用语音分析插件 https www elastic co guide en elasticsearch plugins current analysis phonetic html由于语音转换 从弹性搜索中进行一些字符串匹配 我的问题是
  • python 线程安全可变对象复制

    Is 蟒蛇的copy http docs python org 2 library copy html模块线程安全吗 如果不是 我应该如何在 python 中以线程安全的方式复制 deepcopy 可变对象 蟒蛇的GIL http en w
  • 将上下文管理器的动态可迭代链接到单个 with 语句

    我有一堆想要链接的上下文管理器 第一眼看上去 contextlib nested看起来是一个合适的解决方案 但是 此方法在文档中被标记为已弃用 该文档还指出最新的with声明直接允许这样做 自 2 7 版起已弃用 with 语句现在支持此
  • 如何为不同操作系统/Python 版本编译 Python C/C++ 扩展?

    我注意到一些成熟的Python库已经为大多数架构 Win32 Win amd64 MacOS 和Python版本提供了预编译版本 针对不同环境交叉编译扩展的标准方法是什么 葡萄酒 虚拟机 众包 我们使用虚拟机和Hudson http hud
  • Apache Beam Pipeline 写表后查询表

    我有一个 Apache Beam Dataflow 管道 它将结果写入 BigQuery 表 然后我想查询该表以获取管道的单独部分 但是 我似乎无法弄清楚如何正确设置此管道依赖性 我编写的新表 然后想要查询 与一个单独的表连接以进行某些过滤

随机推荐

  • 在 Python 中如何使用函数(回调)作为另一个函数的参数?

    假设我有一些代码 例如 def myfunc anotherfunc extraArgs somehow call anotherfunc here passing it the extraArgs pass 我想传递另一个现有函数作为an
  • 将 List 从 actionlink 传递到控制器方法

    在我的控制器中我有这个 ViewBag lstIWantToSend lstApps Select x gt x ID ToList creates a List
  • SQL Server 中将signed int 转换为字符串ip 地址

    我正在从 SQL Server 数据库检索一个带符号的 int 并且需要将其转换为 正常 外观的点字符串以向用户显示 谷歌搜索 我发现了这段代码 SELECT dbo IPADDRESS IPADDRESS CAST ROUND cast
  • 为什么 NHibernate.Cache.HashtableCacheProvider 不适合生产使用?

    The NHibernate 文档 http nhforge org doc nh en index html performance cache和书NHibernate 实际应用 https rads stackoverflow com
  • 继承默认构造函数在 gcc 中失败,但在 clang 中有效,哪个有 bug?

    举这个简单的例子 struct Base Base Base defined by the compiler struct Derived Base using Base Base Should inherit Base Base Deri
  • 为什么 Windows Azure 诊断不能可靠地记录日志?

    我们在使 Windows Azure 诊断可靠地记录日志时遇到问题 这似乎是偶然的 我们不明白为什么 这是我们的代码 有时有效 有时无效 public class WorkerRole RoleEntryPoint public overr
  • android ViewPager可定制

    我需要实现一个滚动视图 如下所示 也就是说 在 空闲 状态下 图像 1 以全尺寸可见 而图像 2 部分可见 从而向用户提供他可以滚动内容的线索 滚动后 滚动视图不得停留在中间状态 并且滚动必须完成 就像 iOS 的滚动视图在 启用分页 打开
  • Terraform 可选 jsonencode 属性

    好的 获取以下 terraform 片段 variable my var1 type string default null variable my var2 type string default null output my out v
  • HP Fortify 路径操作验证规则

    我正在通过 Hp Fortify 运行代码 并有一些路径操纵的发现 我了解它的背景并试图解决 我没有遍历从数据库查询某些路径值来存储输出文件 日志 导出数据等 的所有位置 而是尝试将其集中化 因此 我不想让 File WriteAllTex
  • 在 Android 上强制正确的 CSS3 转换百分比解释

    tl dr 获取下面链接中演示的机制 以在 Android Chrome 和默认浏览器上使用 GPU 加速 UPDATE 2 2014 01 13 13 25 30Z 根据bref it https stackoverflow com us
  • 引用 JSON 树结构的分支的最佳方法是什么?

    所以我有一个 JSON 文件 它被解析为 Javascript 中的对象 我知道你在想什么 幸运的家伙 JSON 本质上是一个大树形式的流程图 这是我想要实现的目标的一个小样本 tree options options name targe
  • 使用不同搜索空间大小的不同 lucene 搜索结果

    我有一个使用 lucene 进行搜索的应用程序 搜索空间有数千个 在这数千个搜索中 我只得到了一些结果 大约 20 个 这是正常的并且是预期的 然而 当我将搜索空间减少到只有那 20 个条目时 即我只对这 20 个条目建立索引并忽略其他所有
  • 过滤掉 SELECT 中重复的后续记录

    PostgreSQL 8 4 表 trackingMessages 存储移动设备 tm nl mobileid 和固定设备 tm nl fixedId 之间的跟踪事件 CREATE TABLE trackingMessages tm id
  • 将 XML 数据(键/值对)加载到数据结构中

    我有一个 XML 数据源 其中包含键 值对列表 我正在寻找一种简单的方法将相同的数据加载到数组或其他一些数据结构中 以便我可以轻松查找数据 我可以通过几次点击将其绑定到 GridView 但我无法找到一种直接的方法将其加载到非 UI 控件中
  • 如何防止Maven访问远程仓库?

    我怎样才能强制Maven仅使用我的本地存储库和 Intranet 上的单个特定存储库并且不从互联网下载任何东西 即使我的 POM 都指定了单个公司的内部存储库 maven 也会从 libs 的 POM 文件中访问互联网存储库来获取依赖项 在
  • WPF 中的编号列表

    我正在尝试在基于 WPF 的 UI 中创建一个编号列表 带有子列表 我知道BulletDecorator用于创建项目符号列表 我希望编号列表可能有类似的东西 我希望能够实现类似的目标 项目清单 项目清单 a 子列表项 b 子列表项 项目清单
  • 最大会话 1 不适用于 Spring Boot

    我想在我使用 spring boot 和基于 java 的配置的应用程序中仅限制单个用户的一个最大会话 我使用了 spring max session 1 但它对我不起作用 这是我基于java的spring配置文件 package com
  • PHP 错误未显示在浏览器中 [Ubuntu 10.10]

    我对 PHP 和整个 LAMP 堆栈很陌生 但我已经设法在我的 Ubuntu 10 10 系统上启动并运行它 除了在浏览器中重新发布错误之外 一切似乎都正常工作 我似乎无法正常工作 没有它我就无法工作 我读过许多文章和其他线程 它们表明应在
  • 如何使用 Java 中的参数运行 VBS 函数并将结果分配给变量

    我有这个Excel宏 Function Calculate Something StartDate As Date EndDate As Date As Double some math is here not important Calc
  • 从代码中调用单击命令

    我有一个使用以下命令包装为命令的函数click http click pocoo org 5 所以它看起来像这样 click command click option w width type int help Some helping m