问题标签 [python-click]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10306 浏览

python - 如何使用 Python 的 click(命令行界面创建工具包)包将变量传递给其他方法

我知道它是新的,但我非常喜欢click的外观并且很想使用它,但我不知道如何将变量从 main 方法传递给其他方法。我是否使用不正确,或者此功能尚不可用?看起来很基础,所以我相信它会在那里,但这些东西只出现了一段时间,所以可能不会。

所以我的问题是,如何让其他方法可以使用用户名和密码选项

0 投票
1 回答
2070 浏览

python - 如何为多值选项设置默认值

我想要这样的东西:

但是多值选项的默认值在这里不起作用。如何正确执行?

0 投票
1 回答
5479 浏览

python - 如何在 python 中为命令行应用程序构建交互式菜单?

我一直在使用click来制作命令行程序。现在我正在以非常文本的方式实现交互式菜单。例如:

但我希望以更优雅和互动的方式来做到这一点。例如,我喜欢 Yeoman 实现其菜单的方式。这是正在运行的菜单。 在此处输入图像描述

是否有任何 python 库可以让我们构建这样的命令行菜单?我看过curses、cmd 等库。但它们似乎给了你一个完全独立的窗口来管理并且看起来有点不像pythonic。

0 投票
2 回答
9258 浏览

python - 测试点击python应用程序

click 是一个 python 包,用于为您的应用程序创建漂亮的命令行界面。我一直在玩click,今天在github上推送了这个简单的罗马数字转换器。

我现在要做的是测试我的点击应用程序。我正在阅读文档,但不知道如何运行测试。

有没有人有测试点击应用程序的经验?

0 投票
2 回答
586 浏览

python - 如何使用 python-click 对同一组中的 cmd 使用相同的选项

我有如下代码, foo 和 bar 都有用户选项,我需要编写:

每个功能两次。

但是我其实有很多这样的cmd,所以是很多重复的代码。

我想要的是将相同的选项添加到 cmd 组中的一个位置。我可以使用点击来做到这一点吗?

0 投票
4 回答
7292 浏览

python - 使用 Python 创建 shell 命令行应用程序并单击

我正在使用 click ( http://click.pocoo.org/3/ ) 创建命令行应用程序,但我不知道如何为该应用程序创建 shell。
假设我正在编写一个名为test的程序,并且我有名为subtest1subtest2的命令

我能够使其从终端工作,如:

但我在想的是一个shell,所以我可以这样做:

这可以通过点击实现吗?

0 投票
1 回答
3674 浏览

python - 如何使用 Click 在 Python 中处理 CLI 的用户身份验证

我正在使用非常好的 Click 框架来构建一个 Python CLI,它充当一组复杂 REST API 的“包装器”。我使用了“复杂”示例,以便拥有良好的样板代码来构建 CLI 的其余部分。

但是,由于 CLI 本身与 REST API 通信,因此我需要为每个命令进行一些配置。示例:用户身份验证(ID、密码等),如果与默认设置不同,则为 API 服务器的 URL。

我可以强制用户将这些配置作为每个命令的参数,但这在执行许多命令时真的很烦人(用户必须为每个命令插入他的身份验证详细信息)。

有没有办法让用户在第一个命令中输入他的凭据,以便让他的 uid/pwd 在整个会话中持续存在(例如 mysql-cli),并且在执行他需要的命令后,“注销“来自 CLI?

0 投票
2 回答
1726 浏览

python - 是否可以将 Flask 中的“应用程序工厂”模式与 Click CLI 应用程序一起使用?

想象一下,我有一个带有许多不同命令的大型 CLI 应用程序(例如 image-magick)。

click.group我想把这个应用程序组织成模块等。所以,某处会有一个大师:

可以在定义命令的每个模块中导入:

问题是我遇到了循环导入问题,因为main.py文件一无所知command_x.py,我必须在调用主要部分之前导入它。

这也发生在 Flask 中,通常处理应用程序工厂模式。通常你会在视图之前创建应用程序:

在应用工厂模式中,您推迟了蓝图的“注册”:

并创建一个知道如何构建应用程序和注册蓝图的工厂:

然后您可以创建一个脚本来运行该应用程序:

Click 可以使用类似的模式吗?我可以创建一个“单击应用程序”(可能是扩展click.Group),在其中注册作为单个命令的“控制器”吗?

0 投票
1 回答
605 浏览

python - 使用 Click 制作一个整洁、可安装的 Python 库

我正在尝试使用 Python 中的 Click 制作命令行工具,但我似乎找不到任何关于将库打包成可安装的文档的文档。有没有办法做到这一点?目前我只是使用虚拟环境并使用文档中列出的命令安装它以进行测试:(http://click.pocoo.org/4/setuptools/#testing-the-script

我对 Click 比较陌生,所以如果我遗漏了一些非常明显的东西,请原谅我。

0 投票
2 回答
59 浏览

python - 确定 bash tabcompletion 中的最终字符

我正在寻找确定最后一个字符是否是空格。

原因

如果是空格,则每个参数用于确定完成提示,但如果不是空格,则前一个参数将用于确定最后一个完成提示。我只需要知道在我用来计算完成度的 Python 脚本中采用哪条路线。

这可能超出了问题的范围,这就是 Python 脚本的一部分。

我正在寻找以某种方式确定(???-部分)参数是否完成,或者是否提供完成。