내 Sikuli 스크립트는 모든 작업을 Python 모듈 로깅을 사용하여 기록합니다. 입력 된 키 상수를 로그에 쓰려고 할 때 문제가 발생합니다. 물론Sikuli 키 상수 인쇄 (쓰기)
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)
내가 모든 가능한 키 contants으로 변수를 비교할 수 : 예를 들어 너무 문자열을 필요로하기 때문에 나는 인쇄 기능을 사용
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)
하지만 내 "입력" 기능은 1 개 인자를 그래서 나는 형식을 인쇄 가능한 (쓰기)에 Key.CONSTANT를 변환하는 방법을 찾으려면 (입력 및 로깅에 사용되는 키 상수 만). 가능한가?
그 기호는 utf-8에서 단순히 인쇄 할 수 없습니다. http://www.charbase.com/e022-unicode-invalid-character 그 이유는 ' 로그에서 아무 것도 볼 수 없습니다. 다른 키를 시도해 본 적이 있습니까? – pypat
예, 인쇄 할 수 없다는 것을 알고 있습니다. 그래서 내가이 질문을했습니다. Sikuli Key.CONSTANT를 "Key.ALT"와 같은 인쇄 가능한 형식으로 변환하는 방법이 있습니까? –