为了账号安全,请及时绑定邮箱和手机立即绑定

如何避免Python输入中的箭头键值?

如何避免Python输入中的箭头键值?

明月笑刀无情 2022-09-27 16:32:46
我使用 在我的 Python 输入中获取箭头键值。input()这只发生在Python脚本的执行期间。如果输入是从解释器中获取的,则不会发生这种情况。我所指的箭头键值:为什么在 Ubuntu 中按箭头键时,终端显示“^[[A” “^[[B” “^[[C” “^[[D”?脚本文件的内容:s = input("Enter Something: ")print(s)端子输出:$ python input_example.py Enter Something: Now Pressing Left Arrow Key^[[D^[[D^[[D^[[DNow Pressing Left Arrow Key在写入输入时,我无法向左或向右导航(或说更改光标位置),导致箭头键值显示在输入中。有什么方法可以避免它们吗?在终端中,通常可以更改光标位置,与Python不同,此问题不会发生。input()附言:我不想在bash中更改任何设置,因为我试图编写一个适用于所有控制台的脚本。我是一个菜鸟,所以我不懂很多事情。我希望这个社区可以帮助我。
查看完整描述

2 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

找到了一种方法来防止这种情况!您只需要导入只读行模块

import readline

这将使标准 input() 方法利用其一些实用程序,实现正常的箭头键用法等。


查看完整回答
反对 回复 2022-09-27
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

我找到了答案:

https://www.codehaven.co.uk/python/using-arrow-keys-with-inputs-python/

Python的模块用于处理用户输入。然后为每个箭头键提供自定义行为。我不确定代码是否经过测试(在代码末尾使用分号),Python不允许。curses

即使它是正确的,但是对于用于自动执行小任务的脚本来说,这是非常漫长和极端的。有没有更短的替代方案?


查看完整回答
反对 回复 2022-09-27
  • 2 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信