1

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

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

4

2 回答 2

2

似乎您正在寻找使用 python 在 Windows 上挂钩键盘击键。如果我的假设没有记错,那么在 python 上挂钩并非易事,因为需要 dll。

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

这是API

于 2013-02-03T22:58:32.973 回答
0

我没有看到任何方法可以做到这一点,cmd.Cmd但可以使用curses- 请参阅Curses Programming with Python。该getch()函数将返回键码,但除非curses被告知,否则不会回显echo()它。这将让您在屏幕上显示字符之前获取键码并按照您喜欢的方式对其进行转换(例如,转换为“X”以隐藏作为密码输入的字符)。

或者,虽然我没有使用它,但Console 模块似乎为 Windows 上的 Python 提供了等效的功能。

于 2013-02-03T05:26:55.323 回答