我在python中编写一个接受大量用户输入的命令行界面。对于我正在查询用户的值,有大量的"附加信息"我可以显示,但只想显示用户是否需要有关如何提供值的帮助。
所以我想我会提供通常的raw_input
提示,但也尝试接受一些Ctrl-H
类型序列来输出此帮助信息。
Python可以通过终端/ shell中的raw_input
接受这种输入吗?还有另一种更合适的方法(最好是在stdlib中)?
答案 0 :(得分:0)
不,python无法通过raw_input
接受此类输入。这是因为您正在考虑以下序列:Ctrl-C
,Ctrl-Z
等。这些不是键盘输入,这些信号由终端(不是程序)。
您可以尝试设置信号处理程序,它将为您执行此操作,但这不是一个非常可靠的解决方案(无论您是否使用python或其他内容)。< / p>
接受此类输入的最佳解决方案是使用 curses ,或使用 readline (调整配置以处理Ctrl-H
之类的内容)。使用readline将使您的生活更轻松,但它需要您在GNU GPL(或类似)下许可您的程序所需的成本。诅咒没有这种限制。