728x90
반응형

Programming/Python 12

[Python] 코드 너무 길어 줄 바꾸기

한 줄의 코드가 너무 길어지면, 코드 가독성이 떨어지게 됩니다.Python에서는 2가지 방법으로 한 줄의 코드를 여러 줄로 나눠 쓸 수 있습니다. 1. 백슬래시 \total_1 = Maths + English \ + Science 2. 괄호 ( )total_2 = (Maths + English + Science) 위와 같이 줄은 나눠졌지만, 한 줄의 코드라는 것을 백슬래시와 괄호로 표현할 수 있습니다.전체 테스트 코드와 실행 결과는 아래와 같습니다.Maths = 100English = 95Science = 100total_1 = Maths + English \ + Scienceprint(total_1)total_2 = (Maths + Englis..

Programming/Python 2025.01.19

[Python] 경로에서 디렉터리와 파일명 분리 방법 (os.path)

os.path 모듈은 경로명을 다룰 때, 유용한 기능을 제공하는 Python 표준 라이브러리입니다.os.path 모듈을 사용해서, 경로에서 디렉터리와 파일명을 분리하는 방법에 대해 알아보겠습니다. 1. 디렉터리와 파일명을 따로 분리import ospath = "/data/os/path/sine.wav"directory = os.path.dirname(path)file_name = os.path.basename(path)print(f"directory: {directory}")print(f"file_name: {file_name}") os.path.dirname(path) 함수는 경로명 path에서 디렉터리 이름을 반환합니다.os.path.basename(path) 함수는 경로명 path에서 파일명을 반환..

Programming/Python 2025.01.10

[Python] pcm 파일 읽는 방법

Python에서 pcm 또는 raw 파일의 데이터를 읽는 방법에 대해 알아보겠습니다.여러 방법이 있지만, numpy의 fromfile 함수를 이용하는 방법을 소개해 드리겠습니다. import numpy as npaudio = np.fromfile('test.pcm', dtype=np.int16)print(audio)print(f"number of samples = {len(audio)}")samplerate = 16000print(f"length = {len(audio)/samplerate}s") numpy의 fromefile 함수는 텍스트나 이진 파일의 데이터를 배열로 만들어줍니다.위의 예시처럼 파일명과 데이터 타입만 지정해 주면, 타입에 맞게 데이터를 읽어 배열로 만듭니다. np.int16으로 데이터..

Programming/Python 2024.12.31

[Python] SciPy 설치 방법

SciPy(Scientific Python)은 Python에서 scientific computing을 하기 위해, 많이 사용하는 라이브러리입니다.아래 명령어를 사용해서 설치할 수 있습니다.pip install scipy 설치한 이후에는 아래와 같이 import 해서 사용 가능합니다.import scipy 다른 방식(conda, apt-get 등)으로 설치하는 방법은 아래 공식 홈페이지에서 확인 가능합니다. https://scipy.org/install/

Programming/Python 2024.12.30

[Python] wav 파일 읽는 방법

Python에서 scipy 라이브러리를 이용해서, wav 파일을 읽는 방법에 대해 알아보겠습니다.from scipy.io import wavfilefile_name = "sine.wav"samplerate, data = wavfile.read(file_name) scipy.io 패키지에서 wavfile 모듈을 import 하고, wavfile의 read 함수를 이용하는 방법입니다.7초 길이의 16000Hz, 2ch wav 파일이었는데, 잘 읽은 것이 맞는지 확인해 보겠습니다.print(f"sample rate = {samplerate}Hz")print(f"data.shape = {data.shape}")print(f"length = {data.shape[0] / samplerate}s")print(f"n..

Programming/Python 2024.12.27

[Python] NumPy 설치 방법

NumPy(Numerical Python)는 Python에서 scientific computing을 하기 위해, 많이 사용하는 라이브러리입니다.아래 명령어를 통해 설치 가능합니다.pip install numpy 설치 이후에는 아래와 같이 import 해서 사용할 수 있습니다.import numpy as np NumPy 라이브러리의 장점은 아래와 같습니다.(1) 다차원 배열을 효율적으로 처리할 수 있다.(2) C언어로 구현되어 있어서 연산 속도가 빠르다.(3) 여러 분야의 수학 관련 다양한 함수를 제공한다.

Programming/Python 2024.12.26

[Python] 문자열 바꾸기 replace

문자열 메서드(method) 중 하나인 replace()을 이용해서, 문자열을 바꾸는 방법에 대해 알아보겠습니다. replace() 메서드는 교체하고 싶은 문자열을 찾아서, 다른 문자열로 바꿔줍니다.아래는 문자열 '1,000'을 '1,000,000'으로 바꾸는 예제입니다.a = 'Bank balance : $1,000'b = a.replace('1,000', '1,000,000')print(b) 통장 잔고(Bank balance)를 1,000달러에서 1,000,000달러로 바꿔보았습니다.1,000,000달러는 현재 환율로 계산해 봤을 때, 약 14억입니다.통장 잔고를 이렇게 쉽게 바꿀 수 있다니, python은 정말 좋은 프로그래밍 언어네요!

Programming/Python 2024.12.25

[Python] 문자열 나누기 split

문자열 메서드(method) 중 하나인 split()을 이용해서, 문자열을 나누는 방법에 대해 알아보겠습니다.split()은 매개변수로 입력한 구분자를 기준으로, 문자열을 나눠주는 역할을 합니다. 1. 구분자 없이 사용구분자 없이 사용할 경우, 아래와 같이 공백을 기준으로 문자열을 나눠줍니다.a = 'Do, Re, Mi'b = a.split()print(b) 2. 구분자 사용 매개변수로 구분자를 넣어줄 경우, 구분자를 기준으로 문자열을 나눠줍니다.a = 'Do, Re, Mi'b = a.split(',')print(b) 아래와 같이 문자열을 구분자로 사용할 수도 있습니다.a = 'Do, Re, Mi'b = a.split('Re')print(b)

Programming/Python 2024.12.24

[Python] 텍스트 파일 한 줄씩 읽는 방법

텍스트 파일을 한 줄씩 읽는 방법에 대해 알아보겠습니다.readlines 함수와 readline 함수를 이용하는 방법입니다. 1. readlines 먼저, readlines 함수를 사용해서, 텍스트 파일을 한 줄씩 읽어보겠습니다.with open('text.txt','r') as f: lines = f.readlines() for line in lines: print(line) readlines 함수는 텍스트 파일의 모든 내용을 한 번에 읽는 함수입니다.한 번에 읽은 다음에, for 문을 이용해 한 줄씩 출력하는 코드입니다.위 코드의 실제 출력 결과는 아래와 같습니다. 2. readline다음은 readline 함수를 이용하는 방법입니다.with open('text.txt','r'..

Programming/Python 2024.12.23

[Python] glob 하위 폴더까지 탐색하는 방법

glob의 recursive 옵션을 사용하면, 하위 폴더까지 탐색하는 것이 가능합니다. 아래 예시는 data 폴더와 data의 하위 폴더들을 모두 탐색하여, 확장자가 txt인 파일을 찾는 코드입니다.import globlist = glob.glob("./data/**/*.txt", recursive=True)print(list) 출력 결과) recursive 옵션 없이 아래와 같이 사용할 수도 있습니다.data 폴더만 탐색하여, 확장자가 txt인 파일을 찾아줍니다.import globlist = glob.glob("./data/*.txt")print(list) 출력 결과)

Programming/Python 2024.12.11
728x90
반응형