使用cmd模块实时更改用户输入

时间:2013-02-01 17:22:40

标签: python windows

我希望能够在用户使用cmd python模块将文本键入(cmd.Cmd)提示符时更改字符。因此,当用户键入一个字符时,我希望能够处理该字符并对其进行更改。有没有办法使用cmd模块来处理和替换键入的每个字符,还是我应该使用另一个模块?

编辑:这是为了在Windows环境中运行。

2 个答案:

答案 0 :(得分:2)

您似乎正在使用python搜索在Windows上挂钩键盘笔划。如果我在我的假设中没有弄错的话,因为dll是必需的,所以在python上挂钩并不是一件容易的事。

您可以尝试pyHook,它使用Windows API来完成这项工作。

这是API

答案 1 :(得分:0)

我看不到使用cmd.Cmd执行此操作的任何方法,但可以使用curses - 请参阅Curses Programming with Pythongetch()函数将返回键码,但不会回显它,除非curses被告知echo()它。这样您就可以在显示屏幕上的字符之前获取键码并将其转换为您喜欢的内容(例如,将其转换为“X”以隐藏输入的字符作为密码)。

或者,虽然我没有使用它,Console module似乎在Windows上为Python提供了相同的功能。