问题标签 [docopt]
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.
python - curl命令到python dict
我是我现在公司的后端开发人员。当前端团队遇到问题时,他们有时会使用 Chrome devtool 的“copy request as curl”功能,将有问题的 curl 请求发送给我。我在想,如果我可以编写一个脚本来以各种方式转换这些卷发——移除、添加或调整参数等等,那将是一件很酷的事情。
我认为这里的第一步是将命令解析为更易于使用的东西。我正在考虑使用click或docopt 之类的东西,但没有看到一个简单的命令来执行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
python - docopt 模块的行为(参数解析器)
我目前是第一次使用 docopt lib,所以我肯定做错了什么
我的脚本是:
如果我写: python prog.py -s SMT
我得到:
这似乎是正确的,但如果我写:
所以,我尝试了很多组合,但我不明白这应该怎么写......
我想要的是 TAG 始终包含与 -s 参数相对应的值,如果在 -s 之后没有给出任何内容,则为 None 或错误,我不明白为什么不是这样。
谢谢你的帮助 !
rust - 如何检索在 Rust 中使用 docopt 时使用的子命令?
我正在编写一个命令行实用程序,它有几个子命令:
这完美地解析了参数,但它不允许我检索使用的子命令。
另一种方法是使用example <command> <name> [<args>...]
,但这不再为您提供 docopt 的功能,您可以再次使用不同的方法对其进行解析...
知道如何在 Rust 中设置 docopt 来处理这个问题吗?
rust - 使用 docopt 和 Rust 解析带有参数的命令行标志,类似于 getopt
我正在寻找一种方法来模拟 C 如何使用getopt
. 我想使用 docopt 将以下 C 代码段转换为 Rust。我似乎无法将标志传递给命令行参数:
然后我想跑
到目前为止,我已经写了这个:
当cargo run
我得到
未知标志 -a
python - docopt - 需要每个 arg 的特定数据类型
我通常在 Python 中使用 argparse,在 R 中使用 docopt。我在 argparse 中错过的一个我还没有在 docopt 中发现的功能是能够为每个参数指定所需的数据类型。例如,在 argparse 中,我需要使用整数输入
在 docopt / R 中,我在文档中找不到任何关于需要特定数据类型的内容。
在 Python 版本的 docopt GitHub repo 上有一个已关闭的问题,似乎表明这不是基本 docopt 的一部分,并为 Python 提供了解决方案,但这并不直接适用于 R。任何人都可以提供任何建议/更优雅在 R 中使用 docopt 验证参数输入的方法?
python - 具有可选和位置参数的互斥组
我用docopt创建了一个 cli 规范,效果很好,但是由于某种原因,我必须将其重写为 argparse
怎么做?
重要的是我不想拥有这样的东西:
我认为它会是这样的:
我尝试使用add_mutually_exclusive_group,但出现错误:
python - 如何在 docopt 中使用“选项结束”?
我正在使用docopt和 python 2.7。我想--
在 vim 中实现类似的东西。来自man vim
:
'--'
值得庆幸的是,docopt 已经实现了这一点,但它在我的参数列表中给了我一个额外的东西。例如,以这个简短的 python 脚本为例:
如果我用
我明白了:
我希望它能给:
我究竟做错了什么?
python - docopt 将任何 -v 解释为版本
我正在使用 docopt 创建一个 cli,并遇到以下问题(我将从他们的 naval_fate 示例 cli 中引入示例)
naval-fate --version
ornaval-fate -v
将返回 cli 版本,但是当尝试做让我们说naval-fate ship -v
为了不同的目的时,它会自动返回与前两个命令相同的结果。
有没有办法阻止 docopt 这样做?
谢谢
python - python Docopt中的位置论点
我正在编写一个简单的命令行联系人管理器。我希望能够使用以下命令添加新联系人。
manager.py add -n NAME -p PHONENUMBER
但是当我使用名字和姓氏添加联系人时,代码会引发错误。
例如。manager.py add -n emeka onwuzulike +23464715326
.
这是我的代码
Usage: manager.py add -n NANE -p PHONENUMBER
python - 有什么方法可以检测选项是否作为默认值传递?
我正在为我的脚本创建一个命令行界面。我希望用户能够在命令行本身或配置文件中提供选项。
某些选项具有合理的默认值。我想要的逻辑是这样的:
- 如果该选项既不在命令行也不在配置文件中,请使用默认值。
- 如果该选项仅在配置文件中或仅在命令行中,请使用该选项。
- 如果该选项同时在配置文件和命令行中,则显式命令行优先。
例如,这是我的文档字符串:
所以,没有settings.yaml
我想要的:
我想要一个settings.yaml
:delay: 10
我遇到的问题是docopt
只给了我 a{"--delay": "1"}
或{"--delay": "5"}
. 我无法知道它是否来自默认值。此外,我想在文档字符串中指定默认值- 从用户的角度来看,这要好得多。
有没有什么好的docopt-y,Pythonic方式来完成这个?我正在考虑根据默认参数检查解析的参数,但是如果它碰巧与参数值匹配,用户将无法使用命令行参数覆盖配置文件参数。
这是我加载配置文件的方式: