728x90
반응형

Programming 26

[Linux] Ubuntu 버전 확인 방법

Ubuntu는 Debian 계열의 Linux 배포판입니다.Ubuntu의 버전은 아래 명령어로 확인 가능합니다. cat /etc/issue 출력 예시) 여기서 LTS는 Long Term Support의 약자로, 장기간에 걸쳐 지원하는 버전을 의미합니다.아래 명령어를 이용하면, 버전 정보가 조금 더 자세하게 나옵니다. cat /etc/os-release 출력 예시) Ubuntu 22.04 버전의 코드네임이 "jammy"라는 것도 확인할 수 있네요.

Programming/Linux 2025.02.12

[Linux] 백그라운드 실행, screen 사용 방법

1. screen이란?리눅스 서버에 터미널로 원격 접속하여 프로그램을 실행할 때, 터미널이 종료되면 실행 중인 프로그램도 같이 종료됩니다.터미널을 종료하고 나서도 프로그램을 계속 실행하고 싶다면, screen을 사용하면 됩니다. Screen은 백그라운드에 독립적으로 실행되는 가상의 터미널을 만들어 줍니다.백그라운드로 실행되기 때문에 원격 접속한 터미널이 종료되어도 계속 실행되고, 독립적이기 때문에 여러 개의 가상 터미널을 만들어 사용할 수도 있습니다.  2. screen 설치 방법먼저, screen을 사용하기 위해서는, 아래 명령어로 설치부터 해야 합니다.apt-get install screen  3. screen 사용 방법가장 많이 사용하는 명령어는 아래와 같습니다.명령어설명screen -S [세션명]..

Programming/Linux 2025.01.26

[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
728x90
반응형