반응형

Python 157

Python Thread / Process 강제로 종료시키기

Python에서 Thread/Process를 강제로 종료시키는 방법을 다루고 있습니다. 일반적으로 스레드나 프로세스를 갑자기 종료하는 것은 좋은 방법이 아닙니다. 왜냐하면 스레드/프로세스가 자원을 사용하던 중에 갑자기 종료되면 자원 해제 처리가 제대로 이루어질 수 없기 때문입니다. 스레드/프로세스를 강제 종료해도 자원 해제나 기타 다른 문제가 생길 가능성이 없다면 사용해볼 여지가 있습니다. 본 포스트는 참고한 글을 기반으로 작성되었지만 대부분의 코드와 글이 원문과 차이가 있습니다. 원문에 있던 예외와 trace 관련 방법은 제외했습니다. 중지 플래그 - 전역변수 중지 플래그 - 이벤트 객체 Using traces to kill threads : 스레드 대신 프로세스 사용 데몬(daemon) 참고 2024..

pip cache 제거하기 ( 설치시 다운로드한 Python 패키지 삭제 )

설치시 다운로드한 Python 패키지가 저장되어 있는 캐시(cache)를 삭제하는 방법을 다룹니다. 2024. 3. 16 최초작성 pip cache에는 pip 명령으로 설치시 다운로드된 Python 패키지나 소스코드로부터 필드된 Python 패키지가 저장되어 있습니다. 때때로 버전 충돌등으로 인해 또는 디스크 공간 절약을 위해 pip cache에 있는 Python 패키지를 삭제해야 할 필요가 생길 수 있습니다. PyTorch나 Tensorflow 등의 패키지를 설치한 경우 pip cache가 많은 디스크 공간을 사용합니다. 다음 명령으로 pip cache 정보를 확인할 수 있습니다. 캐시가 사용하는 경로와 현재 사용한 디스크 크기, 파일 개수 등이 표시됩니다. (base) webnautes@webnaut..

지정한 디렉토리의 파일을 특정 비율로 나누어 2개의 디렉토리에 저장하기

지정한 디렉토리의 파일을 특정 비율로 나누어 2개의 디렉토리에 저장하는 예제 코드입니다. 2024. 3. 16 최초작성 import os import shutil import random def split_and_copy_files(src_folder, dest_folder1, dest_folder2, ratio=0.2): # 지정한 경로 src_folder로부터 파일 목록을 가져옵니다. 지정한 경로에 파일들이 하위 폴더로 구분이 안되어있다고 가정합니다. files = [f for f in os.listdir(src_folder) if os.path.isfile(os.path.join(src_folder, f))] # 파일 경로가 저장된 리스트를 뒤섞습니다. random.shuffle(files) # 지..

파이썬 기초 강좌

비교적 최근에 파이썬에 익숙해진 경험을 살려 뭐해볼까 하다가 기초 파이썬 강좌를 만들기 시작했습니다. 제 나름의 방식대로 진행할꺼라 어떨지 모르겠네요 : ) 2019. 5. 15. 최초작성 1. 프로그래밍이 뭔가요? 2. 소스코드는 어떻게 작성하죠? 3. 소스코드는 어떻게 실행되나요? 4. 데이터 타입이 무엇인가요? 5. 변수가 객체를 가리킨다면서요! 6. if문 조건에 따라 다르게 실행해요 7. while문 조건이 만족할 때까지 반복해서 실행해요. 8. for문과 리스트, 튜플 1. 프로그래밍이 뭔가요? 파이썬 기초 강좌 1 - 프로그래밍이란 안녕하세요. 웹나우테스입니다. 기존 다른 채널에 있던 영상을 옮겨왔습니다. 이번 영상에서는 프로그래밍이 무엇인지 알아봅니다. 블로그 : http://webnaut..

wav 파일을 지정한 샘플링 레이트로 변환하기

wav 파일을 지정한 샘픒링으로 변환하는 예제 코드입니다. 2024. 3. 16 최초작성 import librosa import soundfile as sf import numpy as np import os from tqdm import tqdm def resample_and_save(input_folder, output_folder, target_sr, ouput_mono): # 폴더 내의 모든 파일을 대상으로 함 for filename in tqdm(os.listdir(input_folder)): # 파일의 확장자가 .wav인 경우에만 처리 if filename.endswith(".wav"): file_path = os.path.join(input_folder, filename) output_pat..

WAV, MP3 파일을 일정 길이(단위 초)의 WAV 파일로 분할

WAV 파일 또는 MP3 파일을 일정 길이(단위 초)의 WAV 파일로 분할하는 코드입니다. 2023. 10. 20 최초작성 2024. 3. 16 import os import librosa import soundfile as sf def split_and_save(wav_path, output_dir, segment_length=30): """ - wav_path : 로드할 WAV 파일 또는 MP3 파일의 경로 - output_dir : WAV 파일들을 저장할 디렉토리 경로 - segment_length : 분할할 세그먼트의 길이 (초 단위, 기본값은 30초) """ # 출력 디렉토리가 존재하지 않으면 생성 if not os.path.exists(output_dir): os.makedirs(output_..

Ubuntu에서 Miniconda 완전 삭제하기

Ubuntu에서 Miniconda를 완전히 삭제하는 방법을 다룹니다. Ubuntu 22.04에서 테스트했습니다. 2023. 12. 29 최초작성 2024. 3. 13 1. 보통 홈디렉토리의 miniconda3 디렉토리에 miniconda가 설치된 상태입니다. 다음처럼 홈디렉토리에서 miniconda 키워드가 포함된 디렉토리를 찾을 수 있습니다. miniconda가 설치되어 활성화 되어있다면 프롬프트 앞에 (base) 처럼 사용중인 파이썬 가상환경 이름이 표시 됩니다. (base) webnautes@webnautes-laptop:~$ ls ~ | grep miniconda miniconda3 2. 해당 miniconda 디렉토리를 삭제합니다. (base) webnautes@webnautes-laptop:~..

Visual Studio Code와 Miniconda를 사용한 Python 개발 환경 만들기( Windows, Ubuntu, WSL2)

Windows와 Ubuntu, WSL2에 Visual Studio Code와 Miniconda를 사용한 Python 개발 환경을 만드는 방법을 다루고 있습니다. 2022. 4. 03 최초작성 2023. 3. 19 2023. 9. 16 영상 추가 2023. 12. 29 우분투 PATH 설정 관련 수정 2024. 3. 11 영상이 편한 분은 아래 영상을 참고하세요. 원도우 기준으로 설명하고 있습니다. Visual Studio Code와 Miniconda를 사용한 Python 개발 환경 만들기 https://youtu.be/ert1zNdIpEA?feature=shared Miniconda를 삭제하고 다시 설치해야 하는 경우 다음 포스트를 참고하세요. Ubuntu에서 Miniconda 완전 삭제하기 https:..

Numpy - 차원 추가 expand_dims 사용법

Numpy 배열의 차원을 추가하는 expand_dims 사용법을 파악해보려고 테스트해본 내용입니다. 파이썬 인터프리터에서 진행했기 때문에 차례대로 코드를 실행해 봐야 합니다. 2021. 9. 15 - 최초작성 테스트에 사용할 1차원 넘파이 배열 x를 생성합니다. 넘파이 배열의 원소가 2개 이기 때문에 넘파이 배열의 shape는 (2, ) 입니다. >>> import numpy as np >>> x = np.array([3, 4]) >>> x array([3, 4]) >>> x.shape (2,) 참고로 넘파이 배열의 shape 출력 결과에서 다음 순서대로 축의 순서가 정해집니다. (첫번째 축, 두번째 축, 세번째 축, … ) 참고로 이 부분을 시각화하여 설명한 내용은 제가 쓴 책인 “파이썬과 NumPy로..

Python/Numpy 2024.03.12

miniconda/anaconda에서 conda 사용하는 방법

miniconda/anaconda에서 자주 사용되는 conda 명령을 정리했습니다. 2024. 2. 23 최초작성 2024. 3. 11 가상환경 리스트 보기 conda env list 가상환경 생성하기 conda create -n 가상환경이름 python=파이썬버전 conda create -n newenv python=3.12 가상환경 활성화하기 conda activate 가상환경이름 (base) webnautes@webnautes-laptop:~$ conda activate newenv (newenv) webnautes@webnautes-laptop:~$ pip로 파이썬 패키지를 설치하면 newenv 가상환경을 위한 공간에 설치됩니다. 가상환경 비활성화 하기 conda deactivate (newenv..

반응형