Python 자동화
- 일반적인 파일 및 시스템 제어(Python 내장 모듈로 가능)
- os: 파일 경로 제어, 폴더 생성/삭제, 환경 변수 확인 등.
- shutil: 파일 복사, 이동, 이름 변경 등 고수준 파일 연산.
- MS오피스 문서 다루기(별도 라이브러리 설치 필요)
- Excel (.xlsx): openpyxl, 간단한 것은 pandas
- PowerPoint (.pptx): python-pptx
- Word (.docx): python-docx
- PDF: PyPDF2, pdfplumber
- 웹 크롤링 및 브라우저 제어
- 데이터 수집: requests, BeautifulSoup
- 브라우저 제어: selenium, playwright (크롬, 엣지 등을 직접 띄워서 제어)
- PC 화면 제어
- pyautogui: 마우스 이동, 클릭, 키보드 입력, 화면 이미지 인식.
- pyperclip: 클립보드(복사/붙여넣기) 제어.
PyAutoGUI
-
PyAutoGUI란: 마우스와 키보드를 제어하여 다른 프로그램과 상호작용하게 해주는 라이브러리
- 주요 기능: 마우스 커서 이동, 클릭, 드래그, 키보드 입력, 단축키 입력, 화면 스크린샷 및 이미지 위치 찾기.
-
설치
pip install pyautogui pyperclip pillow
- 임포트
import pyautogui
화면 정보 확인
pyautogui.size(): 현재 메인 모니터의 해상도(가로, 세로)pyautogui.position(): 현재 마우스 커서의 (x, y) 좌표
스크린샷 찍어서 파일로 저장
pyautogui.screenshot('screen.png')
img = pyautogui.screenshot() # 스크린샷을 저장하지 않고 이미지 객체로 가져오기
img.getpixel((0, 0)). # (예: (0, 0) 좌표의 RGB 색상 확인)
이미지 인식 알고리즘을 사용하면 화면 상의 특정 버튼이나 아이콘을 인식하여 클릭하게 할 수 있음
마우스 움직이기
import time
time.sleep(3) # 3초 대기
pyautogui.moveTo(100, 200, duration=1) # 마우스 커서를 이동
moveTo: 절대 좌표(왼쪽 최상단이 0, 0)move: 상대 좌표(현재 위치를 기준으로 이동)
마우스 클릭 및 드래그
pyautogui.click(): 왼쪽 클릭 (기본값). x, y 좌표를 지정할 수 있습니다.pyautogui.rightClick(): 우클릭 (컨텍스트 메뉴 호출 등).pyautogui.doubleClick(): 더블 클릭 (파일 실행 등).pyautogui.dragTo(x, y, duration=초): 현재 위치에서 버튼을 누른 채로 목표 지점까지 이동
키보드 입력
-
pyautogui.write('text', interval=초): text를 초 간격으로 입력(한글의 경우에는 잘 안됨) -
문제:
- PyAutoGUI의 키보드 입력 기능은 영문과 숫자는 잘 입력하지만, 한글 입력 시 글자가 깨지거나 입력되지 않음
- pyperclip으로 한글을 클립보드에 복사한 뒤, pyautogui로 '붙여넣기(Ctrl+V)' 단축키를 실행하는 방식을 사용
엔터키 입력
pyautogui.press('enter')
탭 키 3번 입력
pyautogui.press(['tab', 'tab', 'tab'])
복사하기 단축키 (Ctrl + C)
pyautogui.hotkey('ctrl', 'c')
pyperclip을 사용한 한글 입력
import pyperclip
def type_korean(text): # 한글 입력 함수를 정의
pyperclip.copy(text) # 클립보드에 복사
pyautogui.hotkey('ctrl', 'v') # CTRL + V: 붙여넣기 단축키
type_korean("안녕하세요, 업무 자동화입니다.")
Meta SAM
- 좌표를 일일이 지정하지 않고, 임의의 물체를 추적(tracking)할 수 있음
- https://ai.meta.com/sam2
AI를 이용한 컴퓨터 제어
- Python으로 스크릿샷을 찍어 LLM에 입력, 다음 행동을 추론 후, 다시 Python으로 행동을 실행
- OpenAI Atlas와 같은 에이전틱 브라우저는 위의 기능을 내장하여 웹사이트와 상호작용을 자동으로 실행
- 원치 않는 개인 정보 유출, 돌이킬 수 없는 파일 삭제 등 위험 요소
퀴즈
사용자 정보 입력
퀴즈를 시작하기 전에 이름과 소속을 입력해주세요.