매 시간 내 벽지를 변경하는 파이썬 프로그램을 만들고 있지만 특정 버튼을 누르면 배경 화면을 변경할 수 있기를 원합니다. 파이썬이 걸리지 않고 키보드 입력 받기
이
내가while True:
key = ord(getch())
하지만 유일한 나쁜 부분은 내가 뭔가를 누를 때까지가 그에 걸리면이다
을 해봤 코드입니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?매 시간 내 벽지를 변경하는 파이썬 프로그램을 만들고 있지만 특정 버튼을 누르면 배경 화면을 변경할 수 있기를 원합니다. 파이썬이 걸리지 않고 키보드 입력 받기
이
내가while True:
key = ord(getch())
하지만 유일한 나쁜 부분은 내가 뭔가를 누를 때까지가 그에 걸리면이다
을 해봤 코드입니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?https://pypi.python.org/pypi/pynput을 사용하여 원하는 것을 얻을 수 있습니다.
pythonhosted http://pythonhosted.org/pynput/에 관한 문서를 참조하십시오. 특히 키보드 모니터링에 대한 섹션 http://pythonhosted.org/pynput/keyboard.html#monitoring-the-keyboard을 참조하십시오.
from pynput.keyboard import Key
from pynput.keyboard import Listener
def on_press(key):
print('{0} pressed'.format(
key))
def on_release(key):
print('{0} release'.format(
key))
if key == Key.esc:
# Stop listener
return False
# Collect events until released
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
당신이 종료하게되는 ESC을 누를 때까지 그것은 당신이 누를 때마다 키를 출력 할 것이다 :
다음은 문서의 예입니다.
예를 들어, OSX과 같이 고려해야 할 운영 체제 특정 사항이 있음을 유의하십시오. 프로세스는 루트로 실행되어야합니다.
나는 우연히 이것을 발견했습니다.
import msvcrt
if msvcrt.kbhit():
Key = ord(getch())
if Key ==96:
#Do something here
그러면 작동하는 것 같습니다. msvcrt.kbhit()가 키 누르기를 기다리고 있다고 생각합니다. Key = ord (getch())는 키 누르기를 취하고 Key == 96 인 경우 : 해당 키 누르기가 맞는지 확인합니다.