Programming/Python 12

파이썬 코루틴(coroutine)

파이썬 코루틴(coroutine) 파이썬 비동기 함수는 코루틴 함수로 만들 수 있다. 코루틴은 진입점과 탈출점이 여러 개가 있는 함수라고 할 수 있다. 파이썬 코루틴 공식 홈페이지에 있는 예제를 살펴보면 asyncio API에 대해 설명하고 있다. 다음 코드는 "hello"를 인쇄하고 1초를 기다린 다음 "world"를 인쇄한다. import asyncio async def main(): print('hello') await asyncio.sleep(1) print('world') asyncio.run(main()) 코루틴 함수를 만들기 위해는 함수 앞에 async 키워드를 붙여주면 된다. await는 어웨이터블 객체만 사용할 수 있으며, 코루틴 내에서 다른 코루틴을 호출하고 결과를 받을 때 사용된다. ..

Programming/Python 2022.10.02

PyAutoGUI를 통한 마우스 키보드 자동화

PyAutoGUI를 통한 마우스 키보드 자동화 PyAutoGUI 패키지를 통해 마우스, 키보드를 컨트롤하거나 스크린샷을 찍는 등의 자동화를 할 수 있다. 샘플코드 import pyautogui screenWidth, screenHeight = pyautogui.size() # Get the size of the primary monitor. screenWidth, screenHeight currentMouseX, currentMouseY = pyautogui.position() # Get the XY position of the mouse. currentMouseX, currentMouseY pyautogui.moveTo(100, 150) # Move the mouse to XY coordinates. ..

Programming/Python 2022.03.21

파이썬 Slacker를 이용한 Slack(슬랙) bot 사용

Slack(슬랙) bot 사용 CI에서 빌드, 테스트가 실패하거나 문제가 생겼을 때, Slack을 통해 즉시 알람을 받도록 설정해보자. 1. Slack 앱에서 워크스페이스 생성 2. Slack api 사이트에서 'Create a custom app' 클릭 3. 적당한 App 이름과 본인의 Workspace 선택 4. 좌측의 OAuth & Permissions 탭 클릭 5. Scopes 항목에서 write 권한 추가 후 상단에서 Install to workspace를 클릭하면 토큰이 발행됨 6. 본인의 workspace의 알람을 받고자 하는 채널의 우측 상단에 i 버튼과 more 버튼을 선택(아래 이미지 참조) 후 Add apps 버튼을 클릭하여 bot 추가 위와 같이 설정을 하면 slack 내에서 세팅은..

Programming/Python 2021.01.31

파이썬 comprehension, lambda, zip

파이썬 comprehension, lambda, zip 처음에 파이썬으로 개발하다보면 파이썬스럽게(?) 구현하기가 힘들다. 몇 가지 파이썬틱하게 구현하는 방법을 알아보자. # 1~ 5의 값 중 n이 3보다 큰 값만 10 곱하기 my = [n*10 for n in range (1, 6) if n > 3] print(my) # list를 dictionary 형태로 변경하기 dt = [('a', 1), ('b', 3), ('c', 5)] d = { k:v for k,v in dt } print(d) data = [(10,20), (70,15), (50,50)] # 리스트에서 첫 번째 인덱스 값이 max인 값 찾기 mx = max(data, key=lambda v:v[0]) print(mx) # 리스트에서 첫 ..

Programming/Python 2020.12.02