본문 바로가기
유튜브 다운로더 6 - threading & progressbar (feat. pytubefix) 안녕하세요. 오랜만에 다시 다운로더 개선작업 했습니다.  지금껏 고질적인 문제였던 함수 작동 중에 gui가 (응답없음)이 뜨는 현상을 고치기 위해, threading을 사용해봤습니다. 0. Thread1. tkinter1-1. Progressbar2. pytubefix   0. Thread 파이썬은 기본적으로 싱글 쓰레드 방식으로 작동합니다. 쓰레드란, 하나의 목적을 가진 프로그램을 수행할 때, 독립적으로 실행되는 작업을 의미합니다. 쉽게 얘기하면, 작업대 위에 펼쳐놓고 작업하는 거라 생각하면 될거 같습니다. 사람이 아무리 손이 빨라도 한번에 하나의 일만 할 수 있는데, 프로그램도 마찬가지 입니다.  하지만, tkinter같은 gui를 사용한다면, gui와 함께 함수를 실행해야 하는데, gui로 쓰레드 .. 2024. 12. 10.
[Python] CP949 관련 에러 안녕하세요. 티스토리에 글쓰는 건 오랜만인데, 최근에 유레카를 하게 되서 돌아왔습니다.  바로 CP949 인코딩 관련 이야기입니다. 0. 인코딩(Encoding) 파이썬 뿐 아니라 다른 프로그래밍 언어는 프로그램이 적힌 문서 파일을 인식해야 프로그램을 실행 할 수 있습니다. 문서 파일은 저장하거나 불러올 때 문자를 해석해야 하는데, 이 해석하는 방식을 인코딩(Encoding)이라고 합니다. 사람이 문자를 읽을때는 영어, 한국어, 일본어 등의 언어로 읽지만, 컴퓨터는 전부 숫자로 인식해야 하기 때문입니다.  컴퓨터에서 보편적으로 쓰이는 방식은 리눅스에서 계승된 UTF(Unicode Transformation Format)입니다. UTF-16까지 있지만, UTF-8이 대중적으로 쓰입니다. 또 마이크로소프트에.. 2024. 3. 23.
GIF Maker 3 - gif with pillow imageio로 했을 때 다른데에서 쓸 때 오류가 생기는 경우가 생겨서 다시 찾아봤는데, 흔히 쓰는 pillow에서도 만드는 방법이 있었습니다. import os from PIL import Image from PIL import ImageFilter, ImageEnhance path = './source/' imgs = os.listdir(path) imgs = [path + img for img in imgs] images = [Image.open(img) for img in imgs] 먼저 이미지들을 불러옵니다. (귀찮아서 그냥 디렉토리를 통째로 긁었습니당. 이미지만 있어야 돌아갑니다.) 그리고 받아온 이미지 이름들과 디렉토리를 합쳐주고, pillow로 이미지를 열어줍니다. 그 결과들을 리스트로 만.. 2023. 1. 21.
유튜브 다운로더를 직접 만들어보자 + 3.2 업데이트 안녕하세요. 이번에 '유튜브 다운로더'를 만들어봤습니다.  파이썬으로 exe까지 만들어봤습니다. 물론 단순한 형태라 ㅎㅌㅁ 다운로더 마냥 여기저기 쓸 수 있는 건 아니고 유튜브만 쓸 수 있습니당.  영상을 받으면 영상(video), 썸네일(thumbnail), 음성(audio) 세 파일로 나눠서 받을 수 있게 했습니다.(선택권은 없습니당)  근데 음성은 오류가 많이 나서 그냥 오류 예외 처리 해버렸습니당. url 칸에 주소를 통째로 넣고 '여!'를 누르면 작동합니다. 다 끝나면 'all done!' 메세지가 맨 아래에 뜨고, 영상 받는데 성공했지만 음성 받는데 오류가 뜨면 'audio download failed' 메세지가 더 아래에 뜹니다. 처음 버튼을 누르면 '응답없음'이 뜨는데 조금 기다리면 풀립니.. 2022. 7. 22.