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

 

파이썬에서 자주 사용하는 날짜 관련 함수를 정리해 보았습니다.

 

import datetime

now = datetime.datetime.now()
print(now)          # 2015-04-19 12:11:32.669083
 
nowDate = now.strftime('%Y-%m-%d')
print(nowDate)      # 2015-04-19
 
nowTime = now.strftime('%H:%M:%S')
print(nowTime)      # 12:11:32
 
nowDatetime = now.strftime('%Y-%m-%d %H:%M:%S')
print(nowDatetime)  # 2015-04-19 12:11:32

 

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 + \ -> () 또는 {} 괄호의 시작점이나 끝점으로 이동함.

 

+ Recent posts