본문 바로가기

컴퓨터/Python

클립보드 텍스트 데이터 가져오기 외부 모듈을 따로 설치하지 않고 클립보드에 저장된 텍스트 데이터를 가져오는 방법이다. 물론 윈도우에 기본으로 내장되어 있는 기능인 "캡처 도구"를 이용해서 클립보드에 이미지를 복사했을 경우에는 Pillow 모듈을 설치하여 사용해야 한다. 코드는 아래와 같고 클립보드가 비어있을 경우에는 클립보드가 비어있다고 알려준다. from tkinter import Tk from _tkinter import TclError def get_clipboard(): root = Tk() root.withdraw() result = None try: result = root.clipboard_get() except TclError as e: print('클립보드 데이터가 비어있습니다.') return result val = ..
일정 길이의 랜덤 문자열 생성하기 파이썬을 이용해서 일정 길이에 해당하는 랜덤 문자열을 생성하는 코드입니다. 여기서 len에는 원하는 문자열의 길이를 int형으로, characters 부분은 랜덤 문자열을 생성하는데 사용하는 문자들을 리스트 혹은 문자열 형태로 주시면 됩니다. import random def rand_str(len, characters): return "".join([random.choice(characters) for _ in range(len)]) 소스코드에도 있는 것처럼 random 모듈을 import를 해야 사용이 가능합니다. 코드에 대한 간략한 설명을 하자면 len에 해당하는 만큼 characters의 원소를 추출해서 (수학적인 용어로는 복원추출) 리스트를 만들고, 그것을 join 메소드를 이용해서 이어 붙이는 ..
일정 시간마다 실행하기 Python을 이용해서 일정 시간마다 특정 작업을 반복할 수 있는 skeleton 코드이다. 아래 코드에서 print("Hello, World") 부분을 지우고 원하는 코드를 입력하면 된다. 응용 방법의 경우에는 매우 많은데, 일정 시간마다 글을 작성하도록 하는 봇을 만든다거나 혹은 주식과 같이 일정시간마다 바뀌는 값의 데이터를 저장하는데 쓰일 수 있다. import threading end = False def execute_func(second=1.0): global end if end: return # TODO print("Hello, World!") threading.Timer(second, execute_func, [second]).start() execute_func(2.0) 참고로 계속 돌아..
거듭제곱 계산하기 RSA 암호화를 하는 과정에 있어서 거듭 제곱을 계산할 필요가 있습니다. $a^n$을 계산할 때 for이나 while 문과 같이 반복문을 이용해서 $n$번을 곱하는 방법이 가장 쉽게 생각할 수 있는 방법입니다. def easy_mod_pow(base, exp, mod): base %= mod result = 1 while exp > 0: result = (result * base) % mod; exp -= 1 return result 이 알고리즘의 경우에는 시간 복잡도를 생각하면 $O(n)$이라는 것을 알 수 있습니다. (반복문이 n번 돌기 때문) 즉 $n$의 값이 크면 그 만큼 속도가 느려진다는 것을 의미하고, RSA 암호화 과정에서는 $n$의 값을 큰 것으로 사용하기 때문에 이러한 방법으로는 어렵다는..
도서 바코드 사진 인식 프로그램 앞선 내용에서 바코드 사진을 인식해서 바이너리 데이터로 변환하는 과정을 거쳤다. 그래서 이번 내용에서는 Python으로 작성한 바코드 사진 인식 프로그램 소스코드를 소개하려고 한다. 인식 방법에 대한 간단한 알고리즘의 설명은 이미 앞선 강의에서 살펴보았으니 이 포스팅에서는 직접 제작한 소스코드만 첨부하도록 하겠다. Python에서 이미지를 관리하는 module이 기본적으로는 제공하지 않기 때문에, PIL 모듈을 설치해서 사용하였다. PIL 모듈을 설치하는 방법은 pip를 이용해서 간단하게 설치할 수 있으므로 따로 설명은 하지 않도록 하겠다. 여기서의 경우 도서 바코드 사진이 있는 링크의 주소를 입력하면 해당하는 이미지에서 바코드의 바이너리 데이터 정보를 리턴해주는 형태로 구현하였다. 만약 이미지로 사용하..
Interpark 가격정보 가져오기 보호되어 있는 글입니다.
다음 카페 게시판에 자동으로 글쓰기 보호되어 있는 글입니다.
Yes24 가격정보 가져오기 보호되어 있는 글입니다.