我的 Sikuli 脚本使用 Python 模块日志记录所有操作。当我尝试将键入的键常量写入日志时会出现问题。作为一个例子,我使用了print函数,因为它也需要一个字符串:
print((Key.ALT).encode('utf-8'))#exception not thrown but nothing readable is printed
print(Key.ALT) #UnicodeEncodeError: 'ascii' codec can't encode character u'\ue022' in position 0: ordinal not in range(128)
当然,我可以将变量与所有可能的关键内容进行比较:
myKey = Key.ALT
if(myKey==Key.CTRL):
print('ctrl pressed')
elif(myKey==Key.ALT):
print('alt pressed')
#etc…
但这不是我猜的最有效的方式。我还可以做一些其他的解决方法,比如:
print(“Key.ALT pressed”)
keyDown(Key.ALT)
但我想找到一种将Key.CONSTANT转换为可打印(可写)格式的方法,这样我的“打字”函数只需要一个参数(只有键常量用于打字和记录)。可能吗?