Python 에서는 다양한 편리한 라이브러리를 제공하니다.

화면을 제어하기 위해서 가장 기본이 되는 기능이 마우스, 키보드 제어와 관련된 것인데요.

해당 기능을 쉽게 구현하기 위한 라이브러리와 예제를 찾아보려고 합니다.

 

라이브러리 이름 : pyautogui

라이브러리 설치 방법 : 콘솔에서 pip install pyautogui 명령어를 입력하여 설치

 

 

주요 마우스 관련 코드 정리

import pyautogui

# 좌표 객체 얻기 
position = pyautogui.position()

# 화면 전체 크기 확인하기
print(pyautogui.size())

# x, y 좌표
print(position.x)
print(position.y)

# 마우스 이동 (x 좌표, y 좌표)
pyautogui.moveTo(500, 500)

# 마우스 이동 (x 좌표, y 좌표 2초간)
pyautogui.moveTo(100, 100, 2)  

# 마우스 이동 ( 현재위치에서 )
pyautogui.moveRel(200, 300, 2)

# 마우스 클릭
pyautogui.click()

# 2초 간격으로 2번 클릭
pyautogui.click(clicks= 2, interval=2)

# 더블 클릭
pyautogui.doubleClick()

# 오른쪽 클릭
pyautogui.click(button='right')

# 스크롤하기 
pyautogui.scroll(10)

# 드래그하기
pyautogui.drag(0, 300, 1, button='left')

 

 

주요 키보드 관련 코드 정리

import pyautogui 
import pyperclip

pyautogui.write('hello world!') # 괄호 안의 문자를 타이핑 합니다. 한글은 인식하지 않습니다.
pyautogui.write('hello world!', interval=0.25) # 각 문자를 0.25마다 타이핑합니다. 

pyperclip.copy("안녕하세요") # 클립보드에 텍스트를 복사합니다. 
# 한글을 입력하려면, pyperclip 모듈을 통해서 한글을 복사 후 입력할 수 있습니다.
pyautogui.hotkey('ctrl', 'v') # 붙여넣기 (hotkey 설명은 아래에 있습니다.)

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

# 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초에 한번씩 세번 입력합니다. 

# 여러 키를 동시에 입력해야 할 때 활용합니다.
pyautogui.hotkey('ctrl', 'c') # ctrl + c 키를 입력합니다. 

# 키보드 키의 명칭 리스트
['\t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '&', "'", '(',
')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`',
'a', 'b', 'c', 'd', 'e','f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
'accept', 'add', 'alt', 'altleft', 'altright', 'apps', 'backspace',
'browserback', 'browserfavorites', 'browserforward', 'browserhome',
'browserrefresh', 'browsersearch', 'browserstop', 'capslock', 'clear',
'convert', 'ctrl', 'ctrlleft', 'ctrlright', 'decimal', 'del', 'delete',
'divide', 'down', 'end', 'enter', 'esc', 'escape', 'execute', 'f1', 'f10',
'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2', 'f20',
'f21', 'f22', 'f23', 'f24', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9',
'final', 'fn', 'hanguel', 'hangul', 'hanja', 'help', 'home', 'insert', 'junja',
'kana', 'kanji', 'launchapp1', 'launchapp2', 'launchmail',
'launchmediaselect', 'left', 'modechange', 'multiply', 'nexttrack',
'nonconvert', 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6',
'num7', 'num8', 'num9', 'numlock', 'pagedown', 'pageup', 'pause', 'pgdn',
'pgup', 'playpause', 'prevtrack', 'print', 'printscreen', 'prntscrn',
'prtsc', 'prtscr', 'return', 'right', 'scrolllock', 'select', 'separator',
'shift', 'shiftleft', 'shiftright', 'sleep', 'space', 'stop', 'subtract', 'tab',
'up', 'volumedown', 'volumemute', 'volumeup', 'win', 'winleft', 'winright', 'yen',
'command', 'option', 'optionleft', 'optionright']

 

주요 이미지 관련 코드 정리

import pyautogui as pg

# 원하는 이미지를 5.png로 저장해 줍니다. 그리고 이미지파일을 소스파일과 같은 위치로 이동시킵니다.
button5location = pg.locateOnScreen('5.png') # 이미지가 있는 위치를 가져옵니다. 
print(button5location)

# Box(left=1295, top=540, width=38, height=32)
# left = x 좌표, top = y 좌표, width = 너비, height = 높이 입니다.

button5location = pg.locateOnScreen('5.png')
point = pg.center(button5location) # Box 객체의 중앙 좌표를 리턴합니다. 
print(point)

# 출력결과는 Point 객체 입니다. Point(x=1314, y=556)

안녕하세요 철사마 입니다.

제가 요즘에 Python에 관심이 있어서 알아가고 있는 데, 유용한 정보들은 정리해 보려고 합니다.

Python은 전세계에서 가장 많이 추천되는 언어중 하나라고 합니다.

그만큼 강력하고 쉽다고 하네요.. 물론 어떤 언어든 중급 이상이 되려면 다 어렵긴 합니다. ^^

 

 

파이썬이란?

파이썬(영어: Python)은 1991년 프로그래머인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어이다. 파이썬이라는 이름은 귀도가 좋아하는 코미디 〈Monty Python's Flying Circus〉에서 따온 것이다.

파이썬은 비영리의 파이썬 소프트웨어 재단이 관리하는 개방형, 공동체 기반 개발 모델을 가지고 있다. C언어로 구현된 사이썬 구현이 사실상의 표준이다. - 출처 : 위키백과

 

 

파이썬을 사용하려면 다양한 툴을 활용해야 하는데 추천되는 툴이 많지만 전 그중 Visual Studio Code 라는 툴을 설치해 보았습니다. 개인적으로 가장 UI가 편리하고 제공되는 라이브러리의 연계가 좀 쥡지 않았나 싶습니다.

 

Visual Studio Code 란?

비주얼 스튜디오 코드(영어: Visual Studio Code)는 마이크로소프트가 마이크로소프트 윈도우, macOS, 리눅스용으로 개발한 소스 코드 편집기이다. 디버깅 지원과 Git 제어, 구문 강조 기능등이 포함되어 있으며, 사용자가 편집기의 테마와 단축키, 설정 등을 수정할 수 있다.

비주얼 스튜디오 코드는 깃허브가 개발한 일렉트론 프레임워크를 기반으로 구동된다. 그러나 같은 일렉트론 기반의 편집기 아톰을 포크한 것은 아니며, 비주얼 스튜디오 온라인 에디터(코드명 "모나코")를 기반으로 개발되었다. - 출처 : 위키백과

 

앞으로 다양한 파이썬과 VS Code의 내용을 정리할 수도 있지만, 우선 기초적인 단축키 부터 좀 정리해 보려고 합니다. 저도 단축키 정리된곳을 찾기 어려워서 불편했거든요, 개발을 하다보면 단축키를 많이 알면 개발 속도를 줄일 수 있어서 좋습니다. :)

 

공식 사이트에서 공지하는 단축키 정리 : demun.github.io/vscode-tutorial/shortcuts/

 

단축키 - Visual Studio Code tutorial

단축키 파일 > 기본 설정 > 바로가기 키 에서 현재 활성화된 키보드 단축키를 볼 수 있습니다 . 기본 편집 키 명령 명령 ID ctrl+X 행 삭제 (빈 선택) editor.action.clipboardCutAction ctrl+C 행 복사 (빈 선택) e

demun.github.io

 

 

외워두면 편리한 단축키는 따로 정리해 보았습니다.

1. Alt + Shift + F -> 입력 라인 자동 정렬( Beauty lib 설치되어있어야함) "코드 format"
2. Ctrl + [ or ] -> 들여쓰기, 내어쓰기
3.  code .  -> cmd 창에서 현재 디렉토리로 visual studio code를 실행하려 할 때
4.  Alt + <방향키>  -> 해당 커서에 있는 행 내용을 위아래로 이동
5. Ctrl + Shift + K  -> 해당 커서에 있는 행 삭제
6. Ctrl + Shift + P -> Show all commands ( VS Code에서 사용할 수 있는 모든 명령어를 입력 할 수 있다.)
  -> process explorer 입력시 메모리 상황창 호출 됨(느려질시 이거 켜서 필요없는 프로세스 kill)
  -> show running extensions 입력시 VS Code에서 사용하고 있는 extensions 확인 가능
7. Ctrl + Alt + 위/아래 화살표 -> 위아래로 커서를 늘려서 동시에 여러줄 수정할 수 있도록 하는 기능
8. Ctrl + P or E -> Quick Open(파일명 여기서 입력하면 한방에 찾을 수 있음)
9. Ctrl + Shift + T -> Re Open(방금 전에 닫은 파일을 다시 열고 싶을때 사용)
10. Ctrl + B -> 토글 사이드 바
11. Ctrl + K 누른후 잠시 후 Z -> 에디트 창 전체화면/해제
12. Ctrl + Space -> IntelliSense(입력시 자동 추천메뉴? - 이클리스 기능?)
13. F12 or Ctrl + 해당 정의 마우스 클릭 -> 정의로 가기(Go to Definition) 
13-1. 정의 누르고 F2 -> 해당정의 모든 변경
13-2. Shift + F12 -> 모든 정의 찾아서 리스트화.
14. Shift + alt + left or right -> 셀렉션 축소 확장
15. Shift + alt + 드래깅 -> 컬럼(박스) 셀렉션
16. Shift + alt + 위/아래 방향키 -> 셀렉션 위/아래 로 복사
17. Ctrl + u -> 셀렉션 되돌리기
18. Ctrl + Shift + \ -> () 또는 {} 괄호의 시작점이나 끝점으로 이동함.

 

언택트시대엔 홍대클럽 대신 아이들클럽으로 Go! Go!

신개념 리듬액션 방치게임 <아이들클럽(Idle Club)> 사전예약 진행 중!

 

 

핸디커뮤니케이션즈(대표 백두현, 이하 핸디게임)는 모바일 신작 <아이들클럽(Idle Club)>을 원스토어 마켓을 통하여 사전예약 서비스를 시작 했다고 25일 밝혔다.

 

핸디게임은 게임 전문 운영/유통 회사로서 QA, QC, 번역, 운영, 게임 커뮤니티 관리 등 게임 관련 사업을 진행하고 있다. QA QC를 통해 게임의 품질을 검증하고 스토리와 각종 게임 내 문장을 다양한 언어로 번역하고 있으며, 특히 BM까지 한국 및 로컬 국가에 맞게 개선하여 게임의 질을 높이고 안정적인 서비스를 제공하고 있다.

 

<아이들클럽(Idle Club)> 게임은 캐주얼 풍 디자인 컨셉의 리듬액션과 방치가 결합된 모바일 게임으로 나만의 클럽을 운영하고 다양한 클럽음악과 리듬게임, 다양한 직업군의 스탭과 수백 여종의 캐릭터와 댄스, 프랜차이즈 관리와 클럽 꾸미기를 통해 스테이지 레벨을 올릴 수 있으며, 온라인에서 수 많은 플레이어와 관계를 맺고 클러버들과 다양한 댄스, 클럽 꾸미기를 통한 협력과 경쟁이 있는 점이 이 게임의 장점이다.

특히, 성장에만 치중한 기존 방치형 게임과는 달리 음악, 댄스와 게임이 결합한 엔터테인먼트 요소와 경영과 리듬게임이 적절하게 조화되어 게임의 다양한 재미 요소를 제공하고 있으며 플레이어와 상호 작용하여 나만의 클럽 스테이지를 구축하여 최고의 클러버가 되는 것이 가장 큰 목적이다.

 

<아이들클럽(Idle Club)> 게임은 핸디게임에서 자체 개발하였으며 서비스 및 운영을 진행한다. 게임의 안정적 개발을 위하여 SNG게임의 전문 개발팀을 구성하였으며 점진적으로 규모 있고 차별화된 게임을 개발해나갈 계획이다

 

해당 게임은 원스토어를 통하여 유저의 평가 및 선호도 분석을 통한 다수의 컨텐츠 업데이트를 진행할 예정이며, 사전예약이 끝나는 2일에 정식 서비스를 시작하고 무료로 다운로드를 제공한다. 특히 서비스와 함께 게임 전용 커뮤니티를 통한 다양한 이벤트가 상시로 진행될 예정이다.

 

핸디게임 게임 담당 PM 백철민 팀장은 기존 성장에만 치우친 방치형 게임과는 다른 아기자기하고 디테일이 살아있는 여성향 리듬액션 방치 게임이라며 게임의 완성도를 위해 모든 음원을 자체 제작하였으며, 아이돌 출신 연예인을 모델로 다양한 콜라보를 진행하는 등 비주얼이 돋보이는 게임을 즐기는 유저 및 아기자기함을 좋아하는 유저들에게 색다른 즐거움이 느껴질 것이다. 다양한 게임 내 재미요소와 커뮤니티 이벤트를 지속적으로 업데이트 하여 제공할 것이라고 밝혔다.

 

<아이들클럽(Idle Club)> 게임에 대한 커뮤니티 및 이벤트 관련 다양한 정보는 공식 커뮤니티 카페(http://cafe.naver.com/idleclub)를 통하여 확인할 수 있다.

 

 

+ Recent posts