问题标签 [cmd2]

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 投票
0 回答
110 浏览

python - 如何在 cmd2 中使用 argparse 对目录参数进行制表符补全?

我正在使用cmd2编写交互式 Python 应用程序。我使用@with_argparser装饰器进行参数解析。我的do_动作参数之一是目录。我希望选项卡完成以建议目录。我知道如何通过添加成员函数在 cmd2 中设置选项卡完成complete_,但我认为这仅适用于do_不使用@with_argparser. 如何将选项卡完成添加到以下代码?

0 投票
0 回答
44 浏览

python - 在 cmd2 中捕获 do 函数结果

这是一个使用 Pythoncmd2库的简单脚本。

要点链接

函数的结果do_add3被保存(返回)到self.result. 后来do_add3在内部用self.do_add3("4").

有没有更好的方法从函数返回结果do_,这样我可以像下面这样编码?

PS 例如,我不能使用return内部do_函数来返回值。有没有更好的办法?

0 投票
0 回答
44 浏览

python - 每次我按下一个键时 CLI 清除屏幕

我从 cmd 升级到 cmd2 并且遇到了问题。我的应用程序是一个服务器,一旦它收到连接,它就会在屏幕上打印以下内容。

现在我使用 netcat 作为客户端进行连接和发送到服务器的测试。它会打印我发送给它的所有内容,但是一旦我在服务器上输入任何密钥,它就会全部被删除,就像我清除了屏幕一样。

0 投票
0 回答
224 浏览

python - 带有 cmd 或 cmd2 变量的 Python 交互式 shell?

我正在使用cmd库来设计 python 交互工具(shell)。我的要求是提供变量并针对变量存储值。在cmdorcmd2图书馆有可能吗?

期望是:A_VARIABLE应该将 100 存储为值,并且也类似 B_VARIABLE=200。在代码中,我应该能够访问这些变量。

我的程序的输出:

注意:
    在这里我可以看到所有值都被视为参数。

0 投票
1 回答
76 浏览

python - Python cmd模块:以默认方法获取整个输入

我正在为我的数据库创建一个 cmd2 接口,我希望能够使用它来快速、连续地将数据输入到我的数据库中。因此,我想在 cmd2 的默认方法中进行插入。

在我的特定数据库中,插入将包含三个单词:

问题是 cmd2 去掉了第一个单词,只给了我 'ayer' 和 'es' 而不是 '13'。我想这是意料之中的,因为第一个单词通常对应于命令,但我如何访问整行?

PS:cmd 或 cmd2 框架的解决方案都可以工作,因为从我收集的内容来看,cmd2 只是 cmd 的扩展。如果没有,我也可以使用 cmd。

0 投票
1 回答
263 浏览

python - 如何使用 argparse 在 Cmd2 中仅自动完成一个参数

如何使用 cmd2 自动完成参数解析器中的一个参数。

使用此代码,我可以自动完成“类型”参数(在 add_argument 中进行选择)。我想根据“类型”参数自动完成“值”参数。如果值是“数字”,我用数字列表完成它。如果值是“字母”,我用字母列表完成它。

有什么方法可以正确实现这种行为?还是我应该实现自己的 complete_list 方法?

谢谢,

0 投票
1 回答
232 浏览

python - 如何始终在 Python Cmd2 应用程序中启用调试?

我正在使用 Python(版本 1.0.2)中的 Cmd2 模块来构建命令行界面(CLI)。

在我运行程序之后(这样我就在我的自定义 CLI 中),如果我想启用调试以便它显示错误的堆栈跟踪,我必须从 CLI 手动运行“set debug true”。

我想要的是一种在每次调用 CLI 时自动将“调试”标志设置为 true 的方法。我知道我可以将包含设置调试作为第一步的脚本传递给 CLI,但我希望交互式会话也具有这种行为。

有什么方法可以更改 Cmd2 中调试的默认值吗?

0 投票
1 回答
107 浏览

python - Argparse + cmd2 RecursionError 即使在简单的程序上

示例代码:

在示例中,我正在尝试制作一个可以在单模式program.py single -sp test(我尝试获取 cmd2 类中 do_single 中使用的 argparse 的所有值,我得到了。使用 cmd2 的调试,它会:program.py cmdsingle -sp testotherEXCEPTION of type 'RecursionError' occurred with message: 'maximum recursion depth exceeded in comparison'

我使用该create_subparser函数的原因是因为我正在创建要由 cmd2.Cmd 子类使用的子解析器,但是我想在从主 shell 调用时对模式使用相同的解析器。这基本上是一个最小的工作示例,我的代码有更多的标志等等。

另一件事,问题似乎是因为print(opts). 似乎它试图这样做vars(opts),当它尝试枚举所有变量时,由于某处递归而耗尽内存。如果我不尝试列出对象内的所有变量(例如,如果我只使用opts.single_param),它会起作用。这似乎与我试图在 cmd2 和主程序中使用相同的 argparser 有关,但我不明白为什么会发生这种情况以及是否可以修复。

0 投票
0 回答
30 浏览

python - python cmd2多参数解析器

我有 4 个参数,例如:a、b、c、d。用户可以选择输入 a 或 b 或 c 或 d,否则 a 或 c 仅输入“a”或仅输入“d”,就像所有概率一样。对于如何编写参数解析器。

感谢提前

0 投票
0 回答
26 浏览

python - 基于先前参数的 Cmd2 argparse 选项卡完成

有没有一种方法可以使用cmd2基于同一命令中先前提供的参数的自定义选项卡完成器?例如,给定以下代码,有没有办法让参数的color制表符完成 ( help_here) 基于为food参数提供的值: