问题标签 [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 投票
4 回答
19833 浏览

python - 单击:传递字符串时出现“意外的额外参数”

运行run('some string')产生:

Error: Got unexpected extra arguments (o m e s t r i n g)

好像 Click 将字符串参数传递一个字符。打印参数显示正确的结果。

PS:KEYS 字典已定义并按预期工作。

0 投票
2 回答
1400 浏览

python - curl命令到python dict

我是我现在公司的后端开发人员。当前端团队遇到问题时,他们有时会使用 Chrome devtool 的“copy request as curl”功能,将有问题的 curl 请求发送给我。我在想,如果我可以编写一个脚本来以各种方式转换这些卷发——移除、添加或调整参数等等,那将是一件很酷的事情。

我认为这里的第一步是将命令解析为更易于使用的东西。我正在考虑使用clickdocopt 之类的东西,但没有看到一个简单的命令来执行command line string->intelligent python object或类似的东西。理想情况下,它不仅适用于这种情况,而且适用于任何有效的 Unix 命令。有没有可以轻松做到这一点的库?或者我需要扩展这些库之一吗?还是我最好从头开始写一些东西?

我试图解析的卷曲示例:

curl http://myhost?myarg=ACTIVE&myotherarg=1 -H Pragma: no-cache -H 来源: http://localhost:5000 -H Accept-Encoding: gzip, deflate, sdch -H Accept-Language: en-US ,en;q=0.8 -H 授权:令牌 xxxxxxxx1234567 -H 接受:application/json, text/javascript, / ; q=0.01 -H Cache-Control: no-cache -H User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36 -H Connection : keep-alive -H 引用者: http://localhost:5000/projects/7/overview-all/active/ --compressed

0 投票
2 回答
4205 浏览

python - Python 单击库重命名参数

我正在使用该Click库,但似乎找不到类似于destfrom的行为argparse

例如,我有

请注意,我正在使用一个标志,它被翻译成一个不理想--format的内置 Python 结构。format

有没有办法更改传递给选项点击功能的参数?

0 投票
1 回答
3251 浏览

python - Python Click:make 选项取决于上一个选项

有没有一种惯用的方式,使用Python Click library创建一个命令,其中一个选项取决于前一个选项设置的值?

一个具体的例子(我的用例)是一个命令将一个类型选项click.File作为输入,但也有一个指定输入流编码的编码选项:

我想它必须涉及使用可调用的某种延迟评估,但我不确定在当前的 Click API 下是否有可能。

我发现我可以按照以下方式做一些事情:

但不知何故,将选项装饰器与适用于它的语义正确的类型约束分离,并将其str作为虚拟对象放入其中,会让人感觉不太可读/可维护。因此,如果有办法将这两者保持在一起,请赐教。

建议的解决方法:

我想我可以使用该click.File类型两次,使其在装饰器中变得懒惰,这样文件就不会真正打开,第一次是:

这在语义上感觉更令人满意,但也是多余的。

0 投票
2 回答
1164 浏览

python - python 点击​​返回帮助菜单

我刚开始使用 python click 模块,我想让它在任何时候单击引发错误时自动调出“--help”功能。

测试.py

如果我要从命令行作为 test.py --no_such_thing 运行脚本。有没有办法让 --help 出现而不是正常的:Error no Option --no_such_thing

0 投票
2 回答
1938 浏览

python - 仅当参数等于某值时才单击密码选项

在点击中,我定义了这个命令:

data_mode我遇到的问题是,如果参数等于,我只希望密码提示exchange。我怎样才能做到这一点?

0 投票
1 回答
757 浏览

python - Click error "takes no arguments" in main()

I am having issues which I believe are due to click. I am trying to run this code and I keep running into the same traceback TypeError stating an argument is being passed to main().

This code seems pretty simple, so I take click is doing something here to prevent this for working correctly?

0 投票
1 回答
500 浏览

python - 将 click.command 的结果传递给另一个函数

我正在尝试实现基本的命令行功能。

所以我需要能够将文件作为参数传递,读取它并进一步传递结果。

但由于某种原因,它不能按预期工作。

没有任何输出。但似乎touch()正在执行,因为如果我在其中添加打印语句,touch()我可以在输出中看到一些东西。

0 投票
1 回答
6433 浏览

python - Python点击传递未指定数量的kwargs

最近发现 click ,我想将未指定数量的 kwargs 传递给 click 命令。目前这是我的命令:

但是,当使用 nargs 时,任何超过 1 的东西都作为元组([docs][1])传递type=dict,不幸的是我不能这样做。

但应该可以做这样的事情:

command positional1 positional2 foo='bar' baz='qux' xxx='yyy'

在此先感谢您的任何帮助或建议,与此同时,我将自己继续努力。

0 投票
2 回答
46126 浏览

python-3.x - Click 将中止进一步的执行,因为 Python 3 被配置为使用 ASCII 作为环境的编码

我将 Quokka Python/Flask CMS 下载到了 CentOS7 服务器。使用命令一切正常

然后我创建一个文件 /etc/init.d/quokkacms。该文件包含以下代码

但是运行时出现错误sudo service quokkacms start

RuntimeError: Click 将中止进一步的执行,因为 Python 3 被配置为使用 ASCII 作为环境的编码。切换到 Python 2 或咨询http://click.pocoo.org/python3/以了解
缓解步骤。

在我看来,它是 bash 脚本。我怎么会得到不同的结果?我也按照错误消息中链接中的说明进行操作,但仍然没有运气。

[更新] 在发布此问题之前,我已经尝试过 Click 提供的解决方案。检查下面的结果(我在 root 中运行):