将键盘azerty转换为qwerty及反向转换

1 投票
1 回答
3136 浏览
提问于 2025-04-17 09:22

有没有一个模块可以把AZERTY键盘上的字母转换成QWERTY键盘上的字母,反过来也可以?

为了做到这一点,它还需要能够识别键盘的类型,这可能吗?

举个例子: 'data'. to_qwerty () -> 'dqtq' 或者 'dqtq'. to_azerty () -> 'data'

或者有没有一种简单的解决方案,不用一个一个输入每个字母?

提前谢谢你。

1 个回答

4

如果你只是想把一个字符串转换成另一个字符串,那其实很简单:
(不过你需要告诉它怎么从一个转换到另一个)

>>> translate_dict = dict(zip("abcdef", "123456"))
>>> translate_this = "deadbeef"
>>> ''.join([translate_dict.get(x) for x in translate_this])
'45142556'

或者

>>> ''.join(map(translate_dict.get, translate_this))
'45142556'

... 或者有很多种方法可以用几行代码做到这一点。

如果你想做得更复杂一点,像你问题里提到的那样(在字符串上调用一个方法并让它转换),你可以看看codecs模块,它可以帮你实现这个功能。虽然需要多花点功夫,但你可以做到类似这样的事情:

>>> mystring.encode('qwerty')

最大的挑战可能是获取如何转换所有内容的数据。

最简单的办法可能是在开始输入之前,确保你有正确的键盘映射。 :)

撰写回答