반응형

Python 45

파이썬 requests 4. JSON

파이썬 requests 4번째 강의는 Json입니다. 0. 기초 설명 JSON은 JavaScript Object Notation의 약자로 속성과 값의 쌍 또는 키와 값의 쌍으로 이루어진 데이터 오브젝트입니다. JSON은 현재 인터넷상에서 데이터를 주고받을 때 자료를 표현하는 표준 포맷이며 대부분의 언어에서 사용 중입니다. 그리고 이러한 방식으로 데이터를 주고받는 것으로 RESTful API가 있습니다. RESTful API는 AWS에서는 다음과 같이 설명하고 있습니다. 예를들어 어떤 회사에서 오늘의 식단을 알려주는 서버가 있다고 가정하겠습니다. 만약 이 회사가 RESTful API를 사용하지 않는다면 식단을 알기 위해 통신하는 일련의 과정을 모두 개발해야 하며 이를 전달받는 클라이언트도 만들어야 할 것입..

파이썬 실전) 자막 이름 변경 프로그램(Subtitles Changer) 2. GUI화

이번 글에서는 이전에 만들었던 메커니즘을 이용하여 프로그램을 GUI로 만드는 방법에 대해서 써보겠습니다. 0. 이전 문제의 해답 이전 글에서 여러 파일을 한번에 바꾸는 방법에 대해서 상황을 부여했습니다. 여러 파일을 동시에 바꾸기 위해서는 for문이나 while문등의 반복문으로 파일 이름을 바꾸는 코드를 반복해서 실행하면 되겠습니다. 이때 movies와 subtitles의 인덱스 번호를 반복문의 특성에 맞게 바꿔주셔야 합니다. (1) for문 for i in range(len(movies)): os.rename(directory + "/" + subtitles[i], directory + "/" + movies[i][:-4] + subtitles[i][-4:]) (2) while문 count = 0 wh..

파이썬 실전) 자막 이름 변경 프로그램(Subtitles Changer) 1. 파일 이름 변경

이번 글에서는 파이썬의 os 라이브러리를 이용하여 자막 이름을 영상의 이름으로 바꾸는 방법에 대해서 써보겠습니다. 1. 코드 우선 파일에 접근해야 하므로 os 라이브러리를 import 해 줍니다. import os 이제 폴더에 접근할 예정입니다. 폴더에는 Python 파일과 테스트를 위해 만든 Movie.avi(영상), subtitle.smi(자막)이 있습니다. 이제 파일이 존재하는 폴더의 경로를 찾아야 합니다. 실제로 프로그램을 만들게 되면 평소 다른 프로그램에서 사용되는 Window의 폴더 선택 창을 통해서 폴더 경로를 찾을 수 있지만, 이번 시간에는 Python 파일과 같이 있다는 전제로 진행하겠습니다. Python 파일의 경로를 찾는 코드는 os 모듈의 getcwd()라는 함수입니다. direct..

파이썬 실전) 자막 이름 변경 프로그램(Subtitles Changer) 0. 설계

1. 현상 파악 해외 드라마나 애니메이션을 다운로드하여서 보려고 하면 자막이 필수입니다. 이때 자막이 동봉되어 있지 않거나, 자막이 없는 영상을 받았을 경우 자막을 따로 다운로드하게 됩니다. 이렇게 자막과 영상을 받은 곳이 다르면 높은 확률로 자막과 영상의 이름이 달라서 동영상 플레이어가 자동으로 자막을 인식하지 못하게 됩니다. 그럴 때 자막의 이름을 영상과 똑같이 일치시켜주면 자동으로 자막이 포함되어 영상이 송출됩니다. 영화는 1개 또는 2개의 영상이므로 자막의 이름을 손수 바꿔줄 수 있지만, 예를들어 왕좌의 게임의 경우 평균 10화씩 8 시즌이 방영되었기에 총 작업해야 하는 자막의 숫자는 80개입니다. 이것을 손으로 하나하나 바꿔주는 것은 무리이기에 이것을 한 번에 해결해 주는 프로그램이 필요합니다...

파이썬 실전) 로또 번호 생성기 7. 생성 번호 저장

이번 강의는 로또 번호 생성기의 마지막인 만들어진 번호를 저장하는 기능을 만들어 보겠습니다. 결과 프로그램은 exe파일로 만들어서 첨부하도록 하겠습니다. drive.google.com/file/d/1uJhHX3ofbniPuQEOZhjwe6ibwc7aNm7G/view?usp=sharing lotto_number_generator.exe drive.google.com 1. 코드 이번 강의는 딱히 설명할 부분이 많지 않기 때문에 바로 코드부터 보도록 하겠습니다. 우선 저장을 담당할 버튼을 만들어 줍니다. self.save_button = wx.Button(panel, id=12, label="저장", pos=(5, 310)) 그 후 저장의 기능을 만들어 줍니다. 저장은 txt 파일이나 Exel파일 아무거나 상..

파이썬 실전) 로또 번호 생성기 5. 이전 회차 당첨번호

이번 강의는 requests와 BeautifulSoup를 이용하여 이전 회차 당첨 번호를 조회하는 코드를 만들어 보겠습니다. 1. 이전 회차 당첨 번호 보통 로또 당첨번호를 조회하실 때에는 네이버에서 확인하실 겁니다. 한국인이 가장 많이 사용하는 검색 엔진이기도 하고, 로또 번호라고 입력만 하면 바로 당첨번호가 조회가 되니 일반적으로는 가장 편하게 당첨번호를 조회하는 방법일 것입니다. 파이썬에서 네이버의 당첨번호를 조회하기 위해서는 로또 번호를 검색한 결과 화면에서 위의 번호를 추출해야 합니다. 하지만 네이버는 일반적인 파이썬 requests의 접근을 정상적으로 인식하지 못하는 경우가 많아서 사용하기 힘들 때가 있습니다. 동행 복권 홈페이지에서는 메인 화면에 당첨번호를 공지하고 있습니다. 동행 복권 홈페..

파이썬 실전) 로또 번호 생성기 4. 연속 번호 제외

이번 강의는 연속 번호 제외 기능을 추가해보도록 하겠습니다. 1. 연속 번호 여러 로또 사이트들에서는 연속 번호 제외 기능이 거의 100% 포함됩니다. 이것은 사람의 심리상 '11번이 나왔으니 다음에는 12번이 연속해서 나오지 않겠지'라는 막연한 기대에서 비롯됩니다. 하지만 과학적으로 모든 번호가 나올 확률은 동일하므로 11번이 나오고 12번이 나올 확률과 연속되지 않는 번호가 나올 확률이 같기 때문에 이 역시 과학적인 방법은 아닙니다. 또한 결과적으로, 연속번호는 생각보다 많이 나오기 때문에 굳이 과학적으로 파고들지 않더라도 연속 번호를 제외하는 것은 의미가 없다는걸 알 수 있습니다. 2. 코드 로또 번호 사이트의 연속수 제거 기능은 2연속 제거, 3 연속 제거 등 연속의 개수를 지정해줄 수 있지만 이..

파이썬 실전) 로또 번호 생성기 3. 고정수

이번 강의는 여러 로또 번호 사이트에 있는 기능 중 하나인 고정수 설정 기능을 만들어 보려고 합니다. 1. 고정수 로또 번호에서 고정수 또는 희망수는 로또 번호를 생성할 때, 본인이 입력한 번호를 반드시 포함시키는 방법을 말합니다. 이렇게 하면 랜덤으로 생성되는 번호의 개수는 확실히 줄어들지만, 당첨 확률이 높아지는 것은 아닙니다. 로또 번호는 중복이 되지 않으므로 (45 * 44 * 43 * 42 * 41 * 40)만큼의 경우의 수가 존재합니다. 즉, 로또 번호가 만들어 질 수 있는 가짓수는 약 60억 개(5,864,443,200)입니다. 이 중에서 고정수를 하나만 선택하는 경우에는 나머지 5자리만 만들면 되므로 경우의 수가 약 1.3억 개(130,320,960) 개로 줄어듭니다. 여기서 고정수가 하나..

파이썬 실전) 로또 번호 생성기 2. GUI화

이번 강의는 이전에 만든 번호 생성 프로그램을 GUI로 만들어서 사용하기 편리하게 만드는 방법입니다. 1. 코드 파이썬 GUI를 만들기 위해서 wxPython을 사용할 예정입니다. 혹시 wxPython을 모르시는 분들은 wxPython에 대한 강의를 먼저 보고 오시는 걸 추천드립니다. 2021/01/03 - [파이썬 강의/wx] - 파이썬 GUI(wxPython) 1. 기초(Frame과 실행) 파이썬 GUI(wxPython) 1. 기초(Frame과 실행) 이번 강의는 wxPython의 기초인 프레임과 실행방법을 알려드리려고 합니다. 1. frame frame은 프로그램의 기본적인 틀이라고 할 수 있습니다. 프레임을 만들어준 후, 그 위에 여러 가지 기능을 넣는 형 marisara.tistory.com 우..

파이썬 실전) 로또 번호 생성기 1. 기본 메커니즘

이전에 로또 번호 추천 사이트는 허구라고 말씀드린 적이 있습니다. 그런데도 아직 유입 검색어에 로또 1등 예상번호나 1등 당첨되는 법이 있습니다. 그래서 로또 번호 추첨 사이트와 동일한 메커니즘으로 파이썬 프로그램을 만들려고 합니다. 2021/01/03 - [일상] - 로또 예상번호? 더 이상 속지 말자! 로또 예상번호? 더이상 속지말자! 여러분들은 인터넷을 보시다 보면 인기 검색어에 로또 예상번호 같은 게 올라오신 걸 보신 적이 있으실 겁니다. 아니면 광고로도 로또 1등 예상번호라고 나오는 것을 볼 수 있습니다. 그런데 이 marisara.tistory.com 1. 이론 로또는 1부터 45까지의 번호 중 중복 없이 6개의 번호를 선정합니다. 그리고 매주 토요일 추첨을 통해 1등 번호 6자리와 2등 번호..

반응형