将键盘azerty转换为qwerty及反向转换
有没有一个模块可以把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')
最大的挑战可能是获取如何转换所有内容的数据。
最简单的办法可能是在开始输入之前,确保你有正确的键盘映射。 :)