반응형

Python/Utils 59

파이썬 class __init__에서 async로 변수 초기화 하는 방법

Python에서 클래스를 구현할 때, 선언부인 __init__에서 비동기 함수에서 변수를 가져와 초기화하고 싶은 경우가 있습니다. 이 경우, __init__은 async로 직접 구현은 불가하지만, 이를 우회할 수 있는 방법이 있어 간략하게 정리해보도록 하겠습니다. __init__에서 비동기 선언이 필요한 코드 예시 다음과 같은 class가 있다고 가정해보도록 하겠습니다. 여기에서는 class의 value 속성에서 필요한 값을 불러와야 합니다. ### async def load_from_some_async_function(): # 비동기 함수를 불러와야 하는 상황 # do something ### class AsyncInitClass: def __init__(self): # async가 불가능! self...

Python/Utils 2024.02.20

파이썬으로 동영상에 음악 넣기 방법(moviepy 활용)

Python의 moviepy 모듈을 활용하면 동영상에 wav, mp3 파일 등의 배경음을 손쉽게 삽입할 수 있는데요. 이 글에서 간략하게 음성 교체와 추가 삽입의 경우로 나누어 코드를 살펴보겠습니다. 1. 동영상 음악 교체 방법 동영상 파일에서 원하는 mp3 파일을 배경음으로 대체하는 코드는 다음과 같습니다. 이 코드 스니펫에서 기존 음성은 제거 후 대체됩니다. mp4 동영상 파일을 기준으로 코드를 작성한 결과는 다음과 같습니다. # 모듈 설치: !pip install moviepy from moviepy.editor import VideoFileClip, AudioFileClip def replace_audio_in_video(video_file_path, new_audio_file_path, outp..

Python/Utils 2024.01.22

파이썬으로 비디오(mp4 등) -> 오디오(mp3, wav 등) 추출하기(moviepy 활용)

Python에서 moviepy 모듈을 활용하여 mp4 등의 비디오 파일에서 음성을 mp3, wav 등의 오디오 파일로 추출하여 변환하는 방법을 간략하게 정리해보도록 하겠습니다. 오디오 변환 파이썬 예제 코드 비디오 파일에서 오디오 정보를 추출하는 파이썬 코드 스니펫은 다음과 같습니다. (mp4 -> mp3 예시) # 모듈 설치: !pip install moviepy from moviepy.editor import VideoFileClip def extract_audio_from_video(video_file_path, audio_file_path): # mp4 등 비디오 파일 불러오기 video = VideoFileClip(video_file_path) # 오디오를 추출하여 mp3 파일로 저장 video..

Python/Utils 2024.01.20

파이썬 테스트 케이스 모듈 unittest 사용법

Python에서 여러 테스트 케이스 항목들을 체크해야할 때, 유용하게 사용할 수 있는 unittest 모듈에 대하여 기본적인 예제를 중심으로 간략하게 사용법을 정리해보도록 하겠습니다. 참고로, uniittest 모듈은 별도의 설치가 필요 없는 파이썬 표준 라이브러리의 일부입니다. unittest 기본 작동 코드 포맷: unittest.Testcase unittest의 기본 사용법 특징을 정리하면 다음과 같습니다. 1. unittest.Testcase를 상속하여 테스트 클래스를 하나 정의합니다. 2. 테스트 클래스 내에 원하는 케이스들을 모아둔 함수들을 적고, self.assert____ 함수로 테스트 성공 조건을 적어줍니다. 예시로, add와 multiply라는 두 함수의 성공 여부를 테스트하는 간단한 ..

Python/Utils 2024.01.10

파이썬 오류 메시지 자세히 출력하기 - traceback 모듈

Python에서 에러 메시지를 상세히 출력하여 알림 등을 받고 싶은 경우가 종종 있습니다. 단, 기본 try-except 구문에서는 오류 메시지를 상세히 출력해주지는 않는데요. 이 과정을 해결하기 위하여 traceback 모듈의 기능을 활용하는 방법과 예시 결과를 try-except 케이스와 비교하여 간단하게 정리해보도록 하겠습니다. 기본: try-except 구문 오류 메시지 출력 먼저, 아래와 같은 아주 간단한 로그인 함수 예시를 들어보겠습니다. def is_success_login(id, pw, user_info): if user_info[id] == pw: return True else: return False 이제 user_info 딕셔너리 내에 없는 id를 조회하도록 하여 KeyError를 유..

Python/Utils 2024.01.05

파이썬 한국어 로마자 표기 변환 방법(korean_romanizer, 네이버 API)

Python에서 한글을 영어 로마자로 편리하게 변환하는 방법을 간략하게 소개해보도록 하겠습니다. 1. korean_romanizer 모듈 korean_romanizer 모듈을 설치하면 한국어를 영문 로마자로 쉽게 변환해볼 수 있습니다. 공식 깃허브 페이지는 다음과 같습니다. GitHub - osori/korean-romanizer: A Python library for Korean romanization A Python library for Korean romanization. Contribute to osori/korean-romanizer development by creating an account on GitHub. github.com 모듈 설치는 다음 명령어로 진행합니다. pip install ..

Python/Utils 2023.12.12

파이썬으로 구글 검색 결과 링크 및 텍스트 추출하기 예제

Python에서 googlesearch 모듈을 활용하여 구글 검색 결과의 링크를 가져오고, 이후 크롤링 과정을 통하여 해당 링크 내의 텍스트를 추출하여 가져오는 예제를 간략하게 다루어보도록 하겠습니다. 구글 검색 결과 링크 가져오기 먼저, !pip install googlesearch-python 명령어로 googlesearch 모듈을 설치해준 뒤, search 메서드를 이용하여 검색 결과 상위 링크를 가져와 보겠습니다. '파이썬 예제'라는 검색어로 상위 5위까지의 검색 결과 링크를 출력하는 예시는 아래 코드와 같습니다. from googlesearch import search result = search("파이썬 예제", num_results = 5) for url in result: # result는..

Python/Utils 2023.10.11

파이썬 pipenv 가상 환경 관리 기초(특징 및 명령어 정리)

파이썬 프로젝트를 conda 환경으로 관리하는 경우가 많지만, 때로는 pipenv로 가상 환경을 다루는 것이 큰 이점을 가져다주는 경우도 있습니다. 이번 글에서는 아주 간략하고 쉽게 pipenv의 특징과 장점 및 기본적인 명령어 몇 가지를 정리해보도록 하겠습니다. pipenv 특징 및 장점 pipenv가 conda와 구분되는 특징 중 가장 대표적인 내용은 다음과 같습니다. 디렉토리마다 가상 환경을 별도로 두는 것이 특징입니다.(한 가상 환경을 여러 프로젝트가 공유할 수 있는 conda와는 대비되는 특징입니다.) dev 버전에서만 필요한 의존성을 별도로 두고 관리할 수 있습니다. 패키지 버전 의존성을 관리하고 쉽게 배포 가능합니다.(Pipfile 및 Pipfile.lock 파일들로 관리됩니다.) 이 외에도..

Python/Utils 2023.10.08

파이썬에서 종료 시에 특정 함수를 실행하는 방법(atexit 모듈)

Python으로 작성한 py 파일 프로그램이 종료되는 때에 맞추어 특정 함수를 실행시켜보고 싶은 경우가 있습니다. 이 경우에 atexit 라이브러리를 활용하면 정상 종료, 오류로 인한 강제 종료의 경우를 모두 포함하여 원하는 기능을 간단하게 호출할 수 있습니다. 프로그램 종료 시점 함수 호출 기본 예제 만약 프로그램이 종료되는 시점에 exit_print라는 함수를 실행시키고 싶은 경우라면 다음과 같이 atexit 모듈의 register 메소드로 호출을 원하는 함수를 등록시켜주시면 됩니다. import atexit import time def exit_print(): print('프로그램이 종료됩니다!') atexit.register(exit_print) for i in range(5): print(f'남..

Python/Utils 2023.10.04

파이썬 해시 함수 모듈 hashlib 사용법

Python에서 해싱을 간편하게 진행시킬 수 있도록 해주는 라이브러리인 hashlib에 대하여 간략하게 소개해보고 사용 방법 예시를 살펴보도록 하겠습니다. hashlib에서 지원하는 해시 함수 종류 hashlib에서는 과거에 많이 활용되던 방법인 MD5 등부터 비교적 최신 해시 알고리즘인 SHA-3, BLAKE2 등까지 많은 종류의 해시 함수를 제공하고 있습니다. 지원하는 해시 함수의 종류는 아래와 같이 확인이 가능합니다. import hashlib print(hashlib.algorithms_guaranteed) # {'shake_128', 'blake2b', 'sha256', 'sha3_384', 'sha3_512', 'sha224', 'sha3_256', 'shake_256', 'sha1', 'sh..

Python/Utils 2023.09.23
반응형