본문 바로가기
반응형

Python10

모듈 일괄 설치 다음은 PIP와 함께 사용하는 명령어 이다. Commands: install Install packages. download Download packages. uninstall Uninstall packages. freeze Output installed packages in requirements format. inspect Inspect the python environment. list List installed packages. show Show information about installed packages. check Verify installed packages have compatible dependencies. config Manage local and global configurati.. 2023. 12. 19.
pygame에서 한글입력 컴포넌트 만들기 pygame 실행환경에서는 한글을 자유롭게 출력할 수 있다. 그러나 한글을 입력하기는 어렵다. 물론 소스코드 내부에서 한글을 자유롭게 사용할 수 있지만, pygame실행중 직접 한글입력 구현은 어렵다. 그 이유는 다음과 같이 생각해 볼 수 있다. python(적어도 pygame에서) 에서 한/영키를 인지 할 수 없다. python에서 한글 텍스트의 입력은 외부 시스템(예를들어 윈도우즈 같은 OS system)에 의존한다. 즉, python에서 한글을 입력할 때는 OS에서 제공하는 오토마타 부터 유니코드를 받아올 뿐이고 그것을 제어하는 어떤 함수가 없다. 그렇다고 해서 일반적인 파이썬 애플리케이션에서 한글을 입력하는것이 문제되지는 않다. 다만 pygame 내부에서 한글을 입력받기 위해서는 여러 키로부터 한.. 2022. 9. 8.
함수의 가변인자 와 *(별표)연산자 def test(*args, **kwargs): print(args) print(kwargs) test(1,2,3, temp=23, ttemp=45) (1, 2, 3) {'temp': 23, 'ttemp': 45} 어떤 함수의 인자(parameters)를 특정지을 수 없을 때 *를 포함한 변수명으로 받을 수 있다. 위 예에서 함수 test 는 *args, **kwargs의 변수명으로 인자를 받는다. args는 arguments의 약자로, kwargs는 keyward arguments의 약자로 사용되었으나, 이름은 파이썬 문법이 허용하는 어떤 이름이든 상관없다. 중요한 것은 별표하나 와 별표두개이다. 별표하나의 변수명 즉 *args로 전달되는 인자는 모든 위치형 인자(posit.. 2022. 5. 14.
pyautogui정리 마우스와 키보드 사용 import pyautogui import pyperclip # 모니터 화면의 사이즈 print(pyautogui.size()) # 현재 마우스 포지션 print(pyautogui.position()) # 마우스 포이터 이동 pyautogui.moveTo(100, 200) # x 100, y 200 위치로 바로 이동 pyautogui.moveTo(100, 200, 2) # x 100, y 200 위치로 2초동안 이동 # 마우스 클릭 pyautogui.click() # 좌클릭 pyautogui.click(button='right') #우클릭 pyautogui.doubleClick() # 더블클릭 pyautogui.click(clicks=3, interval=1) # 3번.. 2022. 4. 14.
QThread 분산처리 : 작업처리후 자동소멸 PyQt5 GUI환경에서 작업이 비동기적으로 실행되어야 하거나, 분산처리 되어야 할 경우 Threading.Thread() 보다는 PyQt5.QtCore.QThread()를 이용하는 것이 바른 선택인것 같다. 왜냐하면 PyQt5 GUI 환경하에서 Threading.Thread 오브젝트가 작업량이 많아 시간이 수초 이상 소요되는경우에는 GUI 환경이 종종 '응답없음' 상태로 빠지기 때문이다. 이번 코드는 QThread로 정의된 쓰레드 워커(worker)들을 실행하면 스스로 실행을 마친 후 소멸하도록 한다. 필요한 모듈들 import sys from PyQt5.QtCore import QThread, QMutex from PyQt5.QtWidgets import QApplication QThread 만들기 .. 2021. 11. 5.
사용자 정의 시그널 만들기 시그널이란 객체는 시그널을 발생 시키는 위치에서 슬롯함수를 호출하도록 설계되어 있다. 즉, 해당 위치에서 함수를 호출한 것과 동일하게 동작된다. 먼저 시그널을 사용하기 위해 패키지가 필요하다. from PyQt5.QtCore import * 시그널을 만든다. 중요한 것은 시그널은 클래스변수이어야 하고, 시그널을 포함하는 클래스는 QObject 또는 그 후손이어야 한다. class 클래스명(QObject): 시그널명 = pyqtSignal(변수타입) 이 시그널이 동작되기 위해서는 반드시 클래스가 객체화 되어야 한다. 시그널은 (살아있는) 객체에서만 의미가 있기 때문이다. 변수타입으로는 다음과 같은 것들이 있다. bool(boolean) : 참, 거짓 두가지 값을 표현 int(integer) : 정수 flo.. 2021. 9. 11.
사용자 정의 시그널-슬롯 pyQt5기반의 파이썬 GUI 프로그래밍에는 시그널과 슬롯 이라는 개념이 있다. 예컨데 버튼을 클릭하는 순간 버튼이 클릭되었다는 시그널(이벤트 시그널)이 발생되고, 그 때 실행할 함수를 슬롯(콜백함수) 이라 한다. pyQt5에서 제공하는 모든 GUI 객체들은 제 나름대로의 필요한 시그널 들이 정의 되어 있다. 여기서는 사용자 정의 시그널을 만들고 사용해 본다. 참조문서 Support for Signals and Slots - PyQt 5.7 Reference Guide Qt의 주요 기능 중 하나는 시그널과 슬롯을 사용하여 객체간에 통신하는 것. 시그널이 발생하면 그 때 실행해야할 함수가 실행된다. 그 함수를 슬롯이라 한다. 이것이 가능하도록 시그널과 슬롯을 연결하여야 한다. signal/slot 메커니즘.. 2021. 5. 14.
키움서버의 요청간격을 자동체크 키움 OPEN API에서는 클라이언트의 너무 빈번한 요청을 방지하기 위하여 요청간격 0.2초가 설정되어 있다. 어떤 클라이언트에서 요청 후 동일 클라이언트에서 요청하기 위해서는 0.2초 후에 가능하다. 요청간격 이전의 요청은 무시된다. 서버에 뭔가를 요청하는 작업을 요청작업 이라 하자. 전체 프로그램이 돌아가는 사이 다양한 형태의 다수의 요청작업이 시간에 관계없이 나타난다. 한꺼번에 많은 요청작업이 생겨도 이를 0.2초의 요청간격을 두고 순차적으로 진행해야 한다. 요청작업이 100개이면 모든 요청작업이 완료되기 까지 20초의 의 대기시간이 필요하다. 그 시간 동안 프로그램이 다른 작업을 할 수 없게된다. 프로그램은 요청작업들이 각각 요청간격을 두고 순차적으로 진행하도록 설정해두고 다른 일을 할 수 있도록.. 2021. 5. 12.
글씨로 만들어진 이미지 만들기 티스토리에서 글을 올릴 때 이미지를 추가하고 이 중 한 이미지를 선택하여 대표이미지로 선정하고 대표이미지가 썸네일 및 타이틀 이미지로 활용된다. 파이썬으로 자동생성되는 글이 내부에 포함되는 이미지와 별개로 대표이미지가 글마다 다른 글자로 만들어진 이미지로 하고 싶을 때가 있다. 예를들어 이 블로그에 매일 매일 올라오는 글 중 돈키움픽이 있는데, 이 글의 대표이미지에 해당 날자가 글씨로 인쇄되었으면 좋겠다. 이를 위해 아래의 파이썬 코드가 이용되었다. 1 2 3 4 5 6 7 8 9 10 11 12 # coding = utf-8 from PIL import Image, ImageDraw, ImageFont img = Image.new("RGB",(460,600), (10,90,150)) d = ImageD.. 2021. 1. 10.
R에서 만든 보고서를 티스토리에 자동으로 올리는 Python 매일 매일 발생하는 데이터를 스크립트 R로 처리하고 R markdown 으로 보고서를 만든다. 그 결과물을 자동으로 티스토리 블로그에 올릴 수 있도록 할 수 있다. R에서 만든 보고서를 티스토리에 자동으로 올리는 Python 이 블로그에는 매일 __돈키움픽__이라는 게시글이 올라온다. 돈키움픽은 매일 키움서버로 부터 주가데이터를 받아서 이를 처리하고 지수대비 상승한 종목을 우선순위로 보여준다. 이 과정에서 스크립트 언어인 R이 데이터를 처리하고, 키움에서 데이터를 수집하고, R에서 처리된 결과물을 블로그에 포스팅하는 것은 Python이 한다. 이 글에서는 R에서 처리된 자료를 티스토리에 자동으로 올리는 과정을 기술하고자 한다. R 스크립트 실행하기 import os os.system('"c:/Progra.. 2020. 12. 26.
반응형