问题标签 [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.
c - 有没有用 GNU readline 处理多行输入的好方法?
我的应用程序有一个命令行界面,我正在考虑使用GNU Readline 库来提供历史记录、可编辑的命令行等。
问题是我的命令可能很长而且很复杂(想想 SQL),我希望允许用户将命令分布在多行上,以使它们在历史记录中更具可读性。
是否可以在 readline 中执行此操作(可能通过指定换行符和命令结尾之间的差异)?
或者我会更好地实现自己的命令行(但也许使用GNU 历史库)?
python - 为什么 Python readline 模块在 OS X 上不可用?
Pythonreadline
模块的文档说“可用性:Unix”。但是,它在 OS X 上似乎不可用,尽管其他标记为 Unix 的模块可用。这是我正在使用的:
我还通过 MacPorts 安装了 Python 2.5,但readline
在那里也不可用。
我可以做些什么来为OS X 上readline
的 Python 功能提供功能?raw_input()
c# - 如何限制 .NET 中 StreamReader.ReadLine() 读取的字符数?
我正在用 C# 编写一个 Web 服务器应用程序,并使用 StreamReader 类从底层 NetworkStream 中读取:
这段代码很容易受到 DoS 攻击,因为如果攻击者从不断开连接,我们将永远不会读完该行。有什么方法可以限制.NET 中 StreamReader.ReadLine() 读取的字符数?
python - 如何实现一个很好地处理异步输出的python REPL?
我有一个基于 Python 的应用程序,它可以在一个简单的 read-eval-print-loop 中接受一些命令。我raw_input('> ')
用来获取输入。在基于 Unix 的系统上,我也import readline
让事情表现得更好一点。所有这一切都很好。
问题是有异步事件进来,我想在它们发生时立即打印输出。不幸的是,这让事情看起来很难看。"> " 字符串在输出后不会再次出现,如果用户正在输入一半内容,它会将文本切成两半。它可能应该在打印某些内容后重绘用户正在处理的文本。
这似乎必须是一个已解决的问题。这样做的正确方法是什么?
另请注意,我的一些用户是基于 Windows 的。
TIA
编辑:接受的答案在 Unixy 平台下工作(当 readline 模块可用时),但如果有人知道如何在 Windows 下工作,将不胜感激!
c# - 为什么我的循环使用 100% CPU 并且永远不会结束?
我有这个方法:
它从进程 (cmd.exe) 中读取流。当用户关闭 cmd.exe 窗口时,会导致 CPU 使用率跃升至 100%。使用调试器时,我看到它在 sr.ReadLine() 上停止并且永远不会返回。因为这是同时观察 StandardErrorStream 和 StandardOutputStream 它在两个内核上都使用 100%。
如果您需要,这里还有一些项目代码。
另一个有趣的是,它并不总是像应有的那样隐藏 cmd 窗口。它第一次隐藏它,然后第二次(或之后)它不会隐藏它。这是用户可以关闭 cmd.exe 窗口并使 readline 变得有趣的时候。它也永远不会读取输出到 cmd 的最后一行,除非它退出。
对于如何解决这个问题,有任何的建议吗?
macos - 是否可以将多个命令添加到 readline .inputrc 文件?
我正在尝试配置我的终端,我想一键插入@{}。这适用于以下代码
但我也希望光标在大括号内结束。我怎样才能做到这一点?以下不起作用。
python - 如何让 IPython 按类组织选项卡完成的可能性?
当一个对象有数百个方法时,tab 补全很难使用。有趣的方法通常是被检查对象的类而不是其基类定义或覆盖的方法。
如何让 IPython 对其选项卡完成可能性进行分组,以便检查对象的类中定义的方法和属性首先出现,然后是基类中的方法和属性?
它看起来像未记录的inspect.classify_class_attrs(cls)
功能以及inspect.getmro(cls)
为我提供了我需要的大部分信息(这些最初是为了实现 python 的help(object)
功能而编写的)。
默认情况下 readline 按字母顺序显示完成,但用于显示完成的函数可以替换为 ctypes 或 Python 2.6 及更高版本包含的 readline 模块。我已经覆盖了 readline 的完成显示并且效果很好。
现在我需要的只是一种将每个类信息(从inspect.*
上面)与每个实例信息合并的方法,按方法解析顺序对结果进行排序,漂亮的打印和分页。
为了获得额外的功劳,最好存储选择的自动完成,并在下次尝试对同一对象进行自动完成时首先显示最受欢迎的选择。
c# - 在 C# 中验证 readline 输入的最佳方法是什么?
哦,有两件事:1)它是一个控制台应用程序。2)我知道它是丹麦语,但这并不重要,它只是要求输入的一个例子。文本和变量无关紧要。
好吧,考虑一下这个简单的输入:它实际上可以是任何类型的输入问题。
现在,如果客户输入错误怎么办?比如一封信。try & catch 将确保应用程序不会中断,但这不是我想要的解决方案。我想让它说你做错了,再试一次。很经典吧?
但是解决此解决方案的最佳方法是什么?我想过这个:
但这似乎不是正确的方法。
另外,顺便提一下,我正在玩的这个小应用程序连续有 4 个输入问题。这将意味着这个讨厌的 while() 循环的 4 倍。
你也可以写一个函数。像这样的事情(没有理由以正确的方式做,它只是为了说明一个概念):
但是您必须为每个输入问题编写一个函数,即使他们可能要求完全相同!(意思可能都是要求一个整数;但有不同的问题和变量)。
这似乎并不比 while() 解决方案好多少。
有没有人有一个聪明的主意?
python - 读取换行符分隔文件并丢弃换行符的最佳方法?
我正在尝试确定在 Python 中读取换行符分隔文件时处理摆脱换行符的最佳方法。
我想出的是以下代码,包括要测试的一次性代码。
bash - Bash 中的 Control-r reverse-i-search:如何“重置”Cygwin 中的搜索?
您如何告诉Ctrl+ Rreverse-i-search “重置自身”并每次从历史底部开始搜索?
背景:在 Bash 中使用 reverse-i-search 时,一旦完成对历史的搜索,我总是卡住并且找不到更多匹配项。有时我会再次点击Esc并重新调用Ctrl+ R,期望它从我的历史底部开始新的搜索。然而,“指针”似乎仍然在我历史上它离开的前一个地方。
问题是,我通常不希望这种行为。如果我点击Esc,然后重新调用Ctrl+ R,我希望它表明它应该再次从底部重新启动并重新开始工作。
我在 Windows 上使用 Cygwin,因为到目前为止提到的解决方案都不起作用。
此问题被标记为可能重复的问题。这个问题不是重复的,原因如下:
- 另一个问题不涉及 Cygwin。
- 替代问题不涉及如何将搜索重置为其初始状态(相反,它仅涉及在搜索中向后和向前移动)。