问题标签 [readline]

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 投票
1 回答
1094 浏览

jython - 如何为 Jython 交互式解释器会话停用 JLine?

Jython 2.5 默认带有 JLine。

我更愿意将交互式解释器与rlwrap一起使用。如果 JLine 处于活动状态,似乎 rlwrap 不起作用。

在 Scala 中,我会使用rlwrap scala -Xnojline.

Jython 是否有类似的选项来停用 JLine?

0 投票
3 回答
1189 浏览

python - Python:无法通过使用子进程模块在另一个命令行应用程序中读取/写入

我在 Windows 中使用 Python 3.0 并尝试自动化命令行应用程序的测试。用户可以在 Application Under Test 中键入命令,它会以 2 个 XML 数据包的形式返回输出。一个是包,另一个是包。通过分析这些数据包,我可以验证他的结果。我将代码如下

我无法返回任何输出。它卡在我尝试使用 readline() 读取输出的地方。我试过 read() 也卡住了

当我手动运行命令行应用程序并键入命令时,我将输出正确地作为两个 xml 数据包返回,如下所示

但是当我使用如下的通信()时,我得到了 Sent 数据包并且永远不会得到 Recv: 数据包。为什么我错过了 recv 数据包?通信(0 应该从标准输出中带来一切。rt?

任何人都可以帮助我提供应该工作的示例代码吗?我不知道是否需要在单独的线程中读写。请帮我。我需要重复读/写。我可以使用python中的任何高级模块吗?我认为 Pexpect 模块在 Windows 中不起作用

0 投票
1 回答
2110 浏览

python - raw_input 没有在 readline 中留下历史记录

有没有一种方法可以使用 raw_input 而不会在 readline 历史记录中留下符号,以便在制表符完成时不显示?

0 投票
3 回答
915 浏览

python - 使用 python 的 readline 处理带引号的行

我编写了一个简单的类似 shell 的程序,它使用 readline 来提供参数的智能完成。我希望该机制支持具有空格并被引用以表示一个参数的参数(就像为 shell 提供这样的参数一样)。

我已经看到 shlex.split() 知道如何解析引用的参数,但是如果用户想要完成中间输入,它会失败(例如:'complete "Hello' 会导致在传递给 shlex 时抛出异常,因为引号不平衡)。

有这样做的代码吗?

谢谢!

0 投票
8 回答
2174 浏览

python - 向后解析 CSV 文件

我有以下格式的 csv 文件:

问题是第一个字段中有逗号“,”。我无法控制文件的生成,因为这是我收到它们的格式。有没有办法从行尾到开头向后读取 CSV 文件?

如果我被引导到正确的方向,我不介意为此编写一个小 Python 脚本。

0 投票
3 回答
3525 浏览

bash - 更改 bash 中的单词分隔符

我想更改 bash(或 readline)用于分隔单词的分隔符。具体来说,我想让'-'不分隔单词,这样如果我有文字

我按下Alt-Backspace它会删除整个some-file文本,而不仅仅是'-'字符。这也将导致删除长标志--group-directories-first更快更容易,只需要一个按键。

我相信这就是 zsh 的行为方式,我想让 bash 的行为方式相同。

0 投票
5 回答
3171 浏览

python - 如何提高python中这个readline循环的速度?

我正在将文本格式的 Databasedump 的几个部分导入 MySQL,问题是在有趣的数据之前,前面有很多不有趣的东西。我编写了这个循环来获取所需的数据:

文本文件非常大,所以循环到第一个想要的条目需要很长时间。任何人都知道这是否可以更快地完成(或者如果我修复这不是最好的主意)?

提前谢谢了!

0 投票
4 回答
33968 浏览

c# - C# - StreamReader.ReadLine 无法正常工作!

简单地说,我一直在尝试实现BufferedStreamReaderJava 中的功能。我打开了一个套接字流,只想以面向行的方式逐行读取它。

我有以下服务器代码。

以及以下客户端代码:

服务器只读取第一行 ( login>user,pass) 然后ReadLine返回 null!

在 Java 中实现这种面向行的阅读器的最简单方法是BufferedStreamReader什么?:秒

0 投票
6 回答
5340 浏览

c# - 将 C# ReadLine() 推进到函数调用中的下一行

在我的 C# 应用程序中,我试图向 ReadLine() 提供一个简单的文本文档,其中包含 7 个数字字符串逐行分隔。我试图做的是每次调用函数时获取下一个 7 位字符串。这是我到目前为止所拥有的:

每次调用 invoiceNumberFunc() 时如何前进到下一行?

提前致谢。

0 投票
6 回答
5369 浏览

c - GNU Readline:如何清除输入行?

通过注册回调函数,我以“选择”方式使用 GNU Readline:

然后连接rl_callback_read_char为我的select()循环的回调STDIN_FILENO。这都是非常标准的东西,并且工作正常。

现在,我的程序将消息异步打印到屏幕上,有时会与用户的输入交错。“干净”的会话如下所示:

但是,如果当服务器响应到达时用户正在排队呢?然后它变得丑陋:

如果用户输入了任何内容(这很容易通过检查来判断),我只需在服务器输出之前打印一个换行符即可解决此问题rl_line_buffer,然后rl_forced_update_display()在打印服务器输出后执行此操作。现在看起来像这样:

这更好,但仍然不完美。当用户键入整行但尚未按 Enter 键时,问题就出现了——然后它看起来像这样:

这很糟糕,因为在用户看来他们键入了三个命令(三个输入的三个响应与两个输入的三个响应一样可能,这就是实际发生的情况)。

一个讨厌的黑客(有效)是这样做的:

我想我可以通过打印退格 ('\b') 字符而不是 来改进这一点" - INCOMPLETE",但这在我的终端上似乎根本没有做任何事情(Ubuntu Hardy 上的 gnome-terminal)。 printf("ABC\b");只是打印ABC,无论出于何种原因。

那么如何擦除不完整的输入行呢?要么通过某种方式打印退格(我可以弄清楚要打印多少 - 它是strlen(rl_line_buffer)),还是通过使用一些我还不知道的 Readline 工具?