Python
-
[파이썬] 매 시간 주가 음성 안내 프로그램 만들기Python/파이썬과 주식 2022. 12. 9. 10:16
매 시간 특정 종목의 주가를 읽어주는 프로그램. 이 프로그램에는 3가지 기능이 필요하다. 1. 매 시간 반복. 2. 특정 종목 주가를 받아온다. 3. 이것을 읽어준다. 매 시간 반복되는 작업을 처리할 때 1. 윈도우(OS)에는 스케줄러 기능이 있어 이를 이용해도 되지만, 파이썬 코드 하나로 관리하는 게 일반적으로 더 선호된다. 2. 루프와 조건문을 이용해서 직접 코딩해도 되겠지만 3. 스케줄러를 사용하면 다양한 조건을 설정할 수도 있고, 어렵지 않으니 스케줄러를 이용하는 것이 좋을 것이다.... 구글에서 '파이썬 스케줄러'로 검색하면 schedule, apscheduler 두 가지가 많이 나오는 데 이 번에는 apscheduler를 이용한다. 공식 문서: https://apscheduler.readthe..
-
Trie (트라이)Python/파이썬 자료구조 알고리듬 2022. 12. 5. 11:04
[참고] tistory 코드의 가독성을 높이는 법 나무 위키의 간결한 설명. https://namu.wiki/w/%ED%8A%B8%EB%9D%BC%EC%9D%B4 트라이 - 나무위키 이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권 namu.wiki 설명이 너무 잘 되어 있다. 코드까지 ㄷㄷㄷ https://ko.wikipedia.org/wiki/%ED%8A%B8%EB%9D%BC%EC%9D%B4_(%EC%BB%B4%ED%93%A8%ED%8C%85) 트라이 (컴퓨팅) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. "A", "..
-
파이썬 MS Windows 내장 TTS 활용Python/이것저것 파이썬 2022. 12. 1. 13:10
파이썬 TTS를 검색하면 gTTS가 가장 많이 검색됩니다. 구글의 API를 이용해서 mp3로 받아오는 건데.... 꽤 불편합니다. 윈도우에도 TTS기능이 내장되어 있는데요. 오프라인에서 작동하고, 음질도 나쁘지 않습니다. https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ms723627(v=vs.85) Microsoft Speech API (SAPI) 5.3 Table of contents Microsoft Speech API (SAPI) 5.3 Article 04/17/2012 2 minutes to read In this article --> Microsoft Speech API 5.3 Microsoft Speech API (SA..
-
(서브 폴더 포함) 전체 파일 해시 추출Python/이것저것 파이썬 2022. 10. 28. 09:57
[Q] 폴더와 파일 이름과 용량 등을 비교하여 파일 매칭을 해야하는데요. 네트워크로는 공유가 안되고 복사하기엔 용량이 너무 큰 상태입니다. ------------------------------- [A] 각 PC에서, 파일 패스, 파일 사이즈, 해시값을 출력한 뒤 이 값들을 비교하는 게 좋을 것 같습니다. 해시의 원리상 같은 파일일 경우 해시 값은 항상 같습니다. 다른 파일일 경우 해시 값이 같을 확률이 아주 약간 있습니다만, 파일 크기까지 비교한다면 그 확률을 더 줄일 수 있습니다. import os import hashlib def check_dir(path): for root, _, files in os.walk(path): for file in files: joined_path = os.path...
-
파이썬 초기 설정 저장 방식Python/이것저것 파이썬 2022. 10. 25. 13:20
저는 프로그램의 초기 설정들은 저장할 때, pickle을 많이 씁니다. 바이너리 파일이라 유저들이 수정하기 어렵고, 코드는 간결하죠. https://scshim.tistory.com/614 하지만 유저들이 수정하도록 열어두어야할 설정도 있습니다. 이럴 경우에는 ini, json, yaml, xml, toml, py 등을 사용합니다. 가장 많이 알려진 ini 같은 경우는 공식 문서(configparser - 구성 파일 구문 분석기)를 보는 것이 가장 좋습니다. https://docs.python.org/ko/3/library/configparser.html 전체적으론 이런 글을 참고해도 좋겠죠. https://emilkwak.github.io/python-setting-file-ext xml은 공식 문서를..
-
100명의 죄수 문제Python/이것저것 파이썬 2022. 10. 17. 12:38
https://www.youtube.com/watch?v=PE4vLbyOgw0 https://www.youtube.com/watch?v=OIi7FCmTtxc from random import shuffle def find_num(): # 죄수 번호가 들어갈 박스 boxes = {} # 죄수 번호(1~100)를 셔플. nums = [i for i in range(1, 101)] shuffle(nums) # 셔플된 죄수 번호를 하나씩 뽑아 박스에 넣는다. for i, num in enumerate(nums): boxes[i + 1] = num # 각 죄수가 방에 들어가 자신의 번호가 매겨진 박스부터 열어본다. for prisoner in range(1, 101): open_num = prisoner for ..
-
파이썬으로 버전 비교Python/이것저것 파이썬 2022. 10. 6. 13:02
버전을 비교하려면, 어떻게 하는 것이 깔끔할까요? '1.9.1' > '1.10' # True 버전은 숫자와 점으로 구성된 문자열입니다. 이런 코드가 떠오릅니다만.. import doctest def to_int_tuple(a: str) -> tuple[int]: return tuple(int(each) for each in a.split('.')) def compare(a: str, b: str) -> str: """ >>> compare('1.19', '1.10.1') '>' >>> compare('1.1', '1.10.1') '' """ a_tuple, b_tuple = to_int_tuple(a), to_int_tuple(b) if a_tuple == b_tuple: return '==' elif ..
-
django, allauth, socialaccount_set, kakao login, extra_dataPython/초간단 장고 Django 2022. 9. 23. 11:04
{% with account=user.socialaccount_set.first %} UID: {{ account.uid }} nickname: {{ account.extra_data.properties.nickname }} email: {{ account.extra_data.kakao_account.email }} age_range: {{ account.extra_data.kakao_account.age_range }} birthday: {{ account.extra_data.kakao_account.birthday }} birthday_type: {{ account.extra_data.kakao_account.birthday_type }} gender: {{ account.extra_data.kaka..