프로그래밍/Python
-
-
간단히 파이썬 트레이 아이콘(pystray) 사용하기(multiprocessing과 함께)프로그래밍/Python 2020. 11. 30. 23:14
모듈 : pystray 간단하게 트레이 아이콘형태로 응용 프로그램을 제작하고 싶을 때 사용한다. https://github.com/moses-palmer/pystray/blob/master/docs/usage.rst moses-palmer/pystray Contribute to moses-palmer/pystray development by creating an account on GitHub. github.com 사용법에는 PIL로 트레이 아이콘 이미지를 만드는 법이 소개되어있지만, 다음과 같이 사용해도 된다. from pystray import MenuItem as item import pystray from PIL import Image def action(): pass image = Image.o..
-
파이썬: 복수 이미지(image)들을 모아 하나의 PDF로 변환하기(pillow(PIL)모듈)프로그래밍/Python 2020. 11. 25. 03:31
오랜만에 글을 쓴다. 이미지들을 pdf로 변환하여 봐야할 일이 생겼다. 구글에 있는 변환 사이트들은 못믿겠어서 패스하고, 알PDF의 pdf병합이라는 기능을 사용해도 되지만.. 시간이 많이 소요되어 직접 한번 만들어보았다. 시간은 알PDF보다 훨씬 적게 걸렸다. pillow 모듈이 필요하다. 간단히 설치한다. CMD : pip install pillow 사용법은 첫째, 이미지 파일들의 이름을 pdf의 앞페이지에 위치해야하는 것부터 문자순으로(a,b,c...)수정한다. 둘째, 프로그램 실행시킨 후 이미지 파일들이 있는 파일 경로를 써주고 셋째, pdf파일을 출력할 폴더 경로를 써주면 된다. 파일명은, ConvertedToPdf.pdf이다. 코드는 아래와 같다. from PIL import Image from..
-
파이썬 CGI프로그래밍/Python 2020. 10. 7. 18:52
CGI는 Common Gatewaay Interface의 약자로, 본인은 파이썬 코드를 APACHE웹서버에서 실행시키고자 사용하였다. CGI를 사용하는 방법에는 다양한 방법이 있다. 그 중 본인은 DIRECTORY에 추가하는 것을 선택하였다. 1. httpd.conf 설정 APACHE서버 설정파일인 httpd.conf파일을 보다보면 DocumentRoot가 있다. 이것은 이 웹서버의 기본 경로이다.(리눅스 파일시스템으로는 /에 해당한다.) 이 아래 와 이해하지 못할 내용들이 있다. 여기에 다음을 추가한다. Options +ExecCGI AddHandler cgi-script .py 의미: .py로 끝나는 모든 파일은 cgi처리해라 그리고 LoadModule cgi_module modules/mod_cgi..
-
Python : 모스코드를 소리로 나타내기프로그래밍/Python 2020. 9. 6. 16:16
번역된 모스부호(모스코드)를 소리로 나타내는 코드이다. 행사를 준비하며 만들었던 코드이지만, 그 행사가 코로나19로 인해 무기한 연기되었다... 역시 이 코드 또한 인터넷에 올라온 자료들이 많지 않기에, 글을 올린다. 본인이 맡은 프로젝트를 빠르고 효율성있게 마무리할 수 있기를 바란다. (아무리 간단한 프로젝트여도 예상시간의 적어도 3배는 해야..) 여담으로, 코드에 나와있는 예제 모스코드는, 2020 수능특강 영어 지문의 일부이다. https://stackoverflow.com/questions/33879523/python-how-can-i-generate-a-wav-file-with-beeps 해당 코드를 참고하였다. 중요주석, docstring은 수정하지 않았다. import math import ..
-
PYTHON(파이썬) 리스트에서 특정 값의 모든 위치 찾기프로그래밍/Python 2020. 8. 26. 06:34
파이썬은 (liist).index(target_data)라는 기능을 통해서, 해당 값이 존재하는 인덱스 값을 찾을 수 있게 해준다. 이는 한가지 단점이 있는데 바로 리스트안의 해당 값이 여러번 존재한다면, 가장 작은 인덱스만을 반환하고 나머지는 알 수 없다는 것이다. 이를 해결해주는 간단한 함수를 작성하여 보았다. 이 함수는 주어진 리스트에서 타겟 값이 존재하는 모든 인덱스를 반환해준다. def find_index(data, target): res = [] lis = data while True: try: res.append(lis.index(target) + (res[-1]+1 if len(res)!=0 else 0)) lis = data[res[-1]+1:] except: break return re..
-
범위탐색 알고리즘(Range Algorithm, 구간탐색 알고리즘)프로그래밍/Python 2020. 8. 25. 06:11
이진탐색 알고리즘(Binary Search Alalgorithm)을 응용하였다. 분명히 필요한 기능인데 불구하고 파이썬에서 지원하지 않는다. 도저히 선형탐색으로는 불가능할 정도의 데이터 양이다. (무려 240해..) 범위탐색 알고리즘에 대해 구글링 해보았으나 존재하지 않아, 직접 만들었고 혹시 프로젝트에 필요한 사람이 있을까하고 블로그에 올린다. 부디 나처럼 몇시간을 허비하지 않고 프로젝트의 핵심에 더 신경쓸 수 있기를 바란다. def binary_range_search(data, slices, cycle = False): """USAGE BASE : data = 구간탐색대상(리스트) 1. cycle=True : slices = [minimum,maximum,range] 2. cycle=False : s..
-
ZEN OF PYTHON프로그래밍/Python 2020. 6. 19. 20:48
우연히 '파이썬의 도'라는 모듈을 찾았다. 파이썬언어에 크게 기여한 Tim Peters가 직접 쓴 것이었다. 기본 모듈로 내장되어있었다. import this 를 실행하면 docstring의 내용이 나오게 된다. The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough t..