[Python] 자동화 프로그램(키보드편)

1. write() 함수

pyautogui.write('hello python') # 괄호 안의 문자를 타이핑 합니다.
pyautogui.write('hello python', interval=1) # 각 문자를 1초마다 타이핑합니다.

주의사항 pyautogui 는 한글에 대한 적용이 안되어 있어요!!

한글을 입력하려면, pyperclip 모듈을 통해서 한글을 복사 후 입력할 수 있습니다.

import pyautogui 
import pyperclip

pyperclip.copy("안녕하세요") # 클립보드에 텍스트를 복사합니다. 

pyautogui.hotkey('ctrl', 'v') # 붙여넣기 (hotkey 설명은 아래에 있습니다.)

write 함수만으로는 Shift 키나, Ctrl 키 등 문자가 아닌 키를 누를 수 없어요.

 

2. press(), keyDown(), keyUp() 함수

이런 키들을 입력하려면 press() 함수를 사용하면 됩니다.

pyautogui.press('shift') # shift 키를 누릅니다.
pyautogui.press('ctrl') # ctrl 키를 누릅니다. 

press() 함수는 keyDown() 과 keyUp() 함수를 같이 쓴거에요. keyDown()은 키를 누른채로 있는거고 keyUp()은 누른 키를 떼는 겁니다.

pyautogui.keyDown('ctrl') # ctrl 키를 누른 상태를 유지합니다.
pyautogui.press('c') # c key를 입력합니다. 
pyautogui.keyUp('ctrl') # ctrl 키를 뗍니다. 

키를 여러번 입력 하려면 다음과 같은 방식으로 입력하면 되요.

pyautogui.press(['left', 'left', 'left']) # 왼쪽 방향키를 세번 입력합니다.
pyautogui.press('left', presses=3) # 왼쪽 방향키를 세번 입력합니다. 
pyautogui.press('enter', presses=3, interval=3) # enter 키를 3초에 한번씩 세번 입력합니다. 

 

 

3. hotkey() 함수

여러 키를 동시에 입력해야 할 때 keyDown과 keyUp을 사용하면 상당히 불편해요.

그걸 편하게 해주는 함수가 바로, hotkey() 함수입니다.

pyautogui.hotkey('ctrl', 'c') # ctrl + c 키를 입력합니다. 

예를 들자면 아래코드와

pyautogui.hotkey('ctrl', 'shift', 'esc')

아래 코드가 동일합니다.

pyautogui.keyDown('ctrl')
pyautogui.keyDown('shift')
pyautogui.keyDown('esc')
pyautogui.keyUp('esc')
pyautogui.keyUp('shift')
pyautogui.keyUp('ctrl')