问题标签 [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 - 为什么默认值没有出现在我的 docopt 命令行参数字典中?
我一直在尝试使用 docopt 制作一个简单的 CLI,但由于某种原因,我的默认参数没有出现。下面是我的测试代码。我正在使用docopt.py
来自 github 存储库的最新版本。
这是我运行时的输出$ scrappy/scrappy.py first_path_parameter second/path/parameter
有人知道发生了什么吗?
编辑:
我更新了我的代码,但我仍然得到类似的输出。更重要的是,当我尝试通过时--scan-individual
,我得到一个错误,据此它需要一个参数。同样,如果它很重要,我正在运行 docopt,只需将 docopt.py 复制到我的项目的工作目录中。这里发生了什么?
输出:
python - docopt + 模式验证
有没有更好的方法来处理这个验证:
python - 在docopt中实现HTTPie
我正在尝试使用 docopt 实现 HTTPie 的 CLI,但由于某种原因,我无法将 METHOD 作为第一个参数可选。我删除了大部分用于隔离此问题的选项。
此外,HTTPie 的作者获取 REQUEST ITEM 的方式似乎与 docopt 文档有误,因此想知道实现该部分的最佳替代方案是什么。
HTTPie 的完整文档:https ://github.com/jkbr/httpie
我的文档示例: https ://gist.github.com/dasickis/4711926
python - 如何从我的 Python 程序中创建自定义系统命令?
如果我有一个用 Python 编写的命令行程序(特别是使用我认为使用 argparse 的docopt),并且我想运行它my-program command1 args
而不是python my-program.py command1 args
,我该怎么办?目前,这适用于基于 Debian 的操作系统(例如 Ubuntu)。
我通常把我的模块做成一个包,所以我已经有了setup.py
,但这并没有给我一个免费的命令。
谢谢!
编辑
@pyrospade 在下面给出了一个非常好的链接。我将分享我的结果。
假设我们有
scripts=['package/cli.py']
如果你想cli.py
在 shell中访问,你可以使用。
如果你想运行 as my-cli
,你可以使用
由于我使用docopt
,我有这个
您甚至可以__init__.py
说['my-cli=package:main']
,但同样,您需要一个名为 的函数main()
。但是你可以随意命名它。只是说。
docopt - Docopt - 需要一个或多个选项
我有三个参数: --a --b --c 并且我希望我的命令至少接受其中一个参数,但 a/b/c 的所有组合也是有效的。例如:
但并非没有论据:
谢谢!
python - 如何防止 docopt 吞下一个选项?
我正在尝试使用 docopt 创建命令行界面。这是我的文件的简化版本:
我本质上希望能够以任何顺序指定任何选项。但是,如果我忘记为-a
标志指定参数,则会得到如下输出:
Docopt 将-b
标志视为标志的参数-a
,而不是将输入视为无效而拒绝。有没有一些简单的方法可以检测到这一点,或者让 docopt 拒绝接受这种格式错误的输入?
python - docopt 位置参数不起作用
当遵循 docopt README 时,我希望以下文件产生一些有效的输出:
但是,当我打电话时test_docopt.py
,我只会得到一个无意义/空的Usage语句:
我的两个问题是:
- 为什么 docopt 显然无法识别test命令?
- 为什么使用模式没有填充实际的使用模式?
python - 为什么我的 docopt 选项没有默认值?
我docopt
在一个我正在处理的模块的示例中使用,并且所有选项默认值都在工作,除了一个。我已经修改了包含和围绕该选项的所有代码,试图识别问题,但它不会采用默认值!
我的选项块如下所示:
该girders
选项永远不会有默认值!
我多次重读这个问题,但似乎无关。
python - How to set default to empty string in docopt
I have a docopt Usage string that has something like:
How to set the default value to emtpy string?
''
sets it to string "''"
and
[default: ]
raises a KeyError '--data'
python - 与 docopt 的 Cronjob
我有一个非常简单的带有 docopt 的代码,它创建了一个目录。该程序完美地像这样工作:
我需要在 ubuntu 12.04 中使用 crontab 运行它。我使用crontab -e
并添加了这一行:
它应该在每天下午 2 点运行代码。我的问题是这不起作用。我检查了
它奏效了。所以我认为问题不在于 cron,因为我可以在没有 cron 的情况下运行代码,我想主要问题是这两者的结合。有没有什么办法解决这一问题?谢谢