问题标签 [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.

0 投票
4 回答
3345 浏览

python - 为什么默认值没有出现在我的 docopt 命令行参数字典中?

我一直在尝试使用 docopt 制作一个简单的 CLI,但由于某种原因,我的默认参数没有出现。下面是我的测试代码。我正在使用docopt.py来自 github 存储库的最新版本。

这是我运行时的输出$ scrappy/scrappy.py first_path_parameter second/path/parameter

有人知道发生了什么吗?

编辑:

我更新了我的代码,但我仍然得到类似的输出。更重要的是,当我尝试通过时--scan-individual,我得到一个错误,据此它需要一个参数。同样,如果它很重要,我正在运行 docopt,只需将 docopt.py 复制到我的项目的工作目录中。这里发生了什么?

输出:

0 投票
1 回答
2491 浏览

python - docopt + 模式验证

有没有更好的方法来处理这个验证:

0 投票
1 回答
287 浏览

python - 在docopt中实现HTTPie

我正在尝试使用 docopt 实现 HTTPie 的 CLI,但由于某种原因,我无法将 METHOD 作为第一个参数可选。我删除了大部分用于隔离此问题的选项。

此外,HTTPie 的作者获取 REQUEST ITEM 的方式似乎与 docopt 文档有误,因此想知道实现该部分的最佳替代方案是什么。

HTTPie 的完整文档:https ://github.com/jkbr/httpie

我的文档示例: https ://gist.github.com/dasickis/4711926

0 投票
2 回答
268 浏览

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()。但是你可以随意命名它。只是说。

0 投票
1 回答
417 浏览

docopt - Docopt - 需要一个或多个选项

我有三个参数: --a --b --c 并且我希望我的命令至少接受其中一个参数,但 a/b/c 的所有组合也是有效的。例如:

但并非没有论据:

谢谢!

0 投票
2 回答
921 浏览

python - 如何防止 docopt 吞下一个选项?

我正在尝试使用 docopt 创建命令行界面。这是我的文件的简化版本:

我本质上希望能够以任何顺序指定任何选项。但是,如果我忘记为-a标志指定参数,则会得到如下输出:

Docopt 将-b标志视为标志的参数-a,而不是将输入视为无效而拒绝。有没有一些简单的方法可以检测到这一点,或者让 docopt 拒绝接受这种格式错误的输入?

0 投票
1 回答
721 浏览

python - docopt 位置参数不起作用

当遵循 docopt README 时,我希望以下文件产生一些有效的输出:

但是,当我打电话时test_docopt.py,我只会得到一个无意义/空的Usage语句:

我的两个问题是:

  • 为什么 docopt 显然无法识别test命令?
  • 为什么使用模式没有填充实际的使用模式?
0 投票
1 回答
6013 浏览

python - 为什么我的 docopt 选项没有默认值?

docopt在一个我正在处理的模块的示例中使用,并且所有选项默认值都在工作,除了一个。我已经修改了包含和围绕该选项的所有代码,试图识别问题,但它不会采用默认值!

我的选项块如下所示:

girders选项永远不会有默认值!

我多次重读这个问题,但似乎无关。

0 投票
1 回答
1183 浏览

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'

0 投票
1 回答
82 浏览

python - 与 docopt 的 Cronjob

我有一个非常简单的带有 docopt 的代码,它创建了一个目录。该程序完美地像这样工作:

我需要在 ubuntu 12.04 中使用 crontab 运行它。我使用crontab -e并添加了这一行:

它应该在每天下午 2 点运行代码。我的问题是这不起作用。我检查了

它奏效了。所以我认为问题不在于 cron,因为我可以在没有 cron 的情况下运行代码,我想主要问题是这两者的结合。有没有什么办法解决这一问题?谢谢