본문 바로가기
Dev/Python

파이썬 기초: 표준 라이브러리(Standard Library) 활용하기

by DevGyu0511 2026. 1. 13.
반응형

개요

파이썬의 'Batteries Included' 철학은 개발자가 어떤 환경에서도 즉시 문제를 해결할 수 있는 도구를 제공한다는 뜻이다. 수많은 라이브러리 중 왜 'os', 'sys', 'datetime', 'math'가 핵심 4대장으로 불리는지, 그 이유와 상세 사용법을 표와 예제를 통해 심층 분석한다.

왜 이 4가지 모듈이 핵심인가?

파이썬 표준 라이브러리는 방대하지만, 프로그램이 동작하는 가장 기본적인 4가지 영역을 담당하는 핵심 모듈이 바로 이들이다.

  1. os: 프로그램 외부 환경(파일 시스템, 운영체제)과의 소통을 담당한다.
  2. sys: 프로그램 내부 환경(인터프리터 제어, 실행 인자)을 관리한다.
  3. datetime: 모든 비즈니스 로직의 기준이 되는 '시간' 데이터를 처리한다.
  4. math: 데이터 처리와 알고리즘의 기초가 되는 '수학적 연산'을 보장한다.

1. os 모듈: 파일 시스템관련 내용

운영체제와 상호작용하며 경로 조작, 디렉터리 관리 등 시스템 전반을 제어한다.

메서드명 기능 설명
os.getcwd() 현재 작업 디렉터리 경로 반환
os.listdir(path) 해당 경로의 파일/폴더 목록 반환
os.makedirs(path) 중첩된 디렉터리 구조를 한 번에 생성
os.path.join(a, b) OS에 맞는 경로 구분자를 사용하여 경로 결합
os.path.exists(path) 파일이나 폴더 존재 여부 확인
import os
# 실습: 폴더 존재 확인 후 없으면 생성하기
target_dir = os.path.join(os.getcwd(), 'python_project')
if not os.path.exists(target_dir):
    os.makedirs(target_dir)
    print(f"'{target_dir}' 폴더가 생성되었습니다.")

2. sys 모듈: 시스템 제어 관련

파이썬 실행 환경 그 자체를 제어하며, 외부에서 값을 입력받는 명령행 인자 처리에 필수적이다.

메서드명/변수 기능 설명
sys.argv 실행 시 입력받은 명령행 인자 리스트
sys.path 모듈을 찾을 때 참조하는 경로 목록
sys.version 현재 설치된 파이썬 버전 정보
sys.exit() 프로그램을 의도적으로 즉시 종료
sys.stdin/stdout 표준 입력 및 출력 스트림 제어
import sys
# 실습: 명령행 인자 확인하기 (터미널 실행용)
print(f"실행 파일명: {sys.argv[0]}")
if len(sys.argv) > 1:
    print(f"전달된 인자: {sys.argv[1:]}")

3. datetime 모듈: 시간 관련

로그 기록, 데이터 생성 시각 관리 등 날짜와 시간을 다루는 모든 작업에 쓰인다.

메서드명/변수 기능 설명
datetime.now() 현재 날짜와 시각 정보 반환
strftime('포맷') 날짜 정보를 지정한 문자열 형식으로 변환
strptime('문자열', '포맷') 문자열을 datetime 객체로 변환
timedelta(days=n) 날짜 간의 차이(연산) 계산
date.today() 현재 날짜만 반환
from datetime import datetime, timedelta
# 실습: 7일 후의 마감일 계산하기
now = datetime.now()
deadline = now + timedelta(days=7)
print(f"현재: {now.strftime('%Y-%m-%d')}")
print(f"마감일(7일 후): {deadline.strftime('%Y-%m-%d')}")

4. math 모듈: 연산 관련

복잡한 물리 법칙이나 통계, 수치 계산을 위해 정밀한 수학 함수를 제공한다.

메서드명 기능 설명
math.pi 원주율(π) 상수
math.sqrt(x) x의 제곱근 계산
math.ceil(x) x보다 크거나 같은 가장 작은 정수(올림)
math.floor(x) x보다 작거나 같은 가장 큰 정수(내림)
math.factorial(x) x의 계승(팩토리얼) 계산
import math
# 실습: 원의 넓이와 올림 처리
radius = 5
area = math.pi * (math.sqrt(25)**2)
print(f"반지름이 {radius}인 원의 넓이: {area:.2f}")
print(f"결과값 올림: {math.ceil(area)}")

참고: <파이썬 표준 라이브러리 공식 문서>
https://docs.python.org/ko/3/library/index.html


표준 라이브러리 사용 시 유의점

라이브러리를 사용할 때는 'import' 방식과 네이밍에 주의해야 한다.


1.파일명 중복 주의
자신이 작성하는 파이썬 파일의 이름을 'os.py'나 'math.py'와 같이 표준 라이브러리 이름과 동일하게 지으면 안 된다. 파이썬은 현재 디렉터리를 먼저 탐색하므로, 표준 라이브러리 대신 본인의 파일을 임포트하여 에러가 발생한다.


2.임포트 방식의 선택
'import os'는 모듈의 출처를 명확히 해주어 가독성에 좋지만, 'from os import *'와 같은 방식은 어떤 함수가 들어왔는지 파악하기 어렵게 만들고 이름 충돌을 일으킬 수 있으므로 권장되지 않는다.


3.버전 호환성
파이썬 표준 라이브러리는 버전업에 따라 새로운 기능이 추가되거나 기존 기능이 'Deprecated(권장되지 않음)' 될 수 있다. 항상 사용하는 파이썬 버전의 공식 문서를 확인하는 습관이 필요하다.


결론

위의 4가지 라이브러리는 파이썬 개발의 기초 체력과 같다. 파일 시스템(os), 실행 환경(sys), 시간(datetime), 수학(math)이라는 핵심 영역을 마스터하면, 어떤 복잡한 비즈니스 로직도 표준 도구만으로 견고하게 설계할 수 있다.

객체지향 프로그래밍의 관점에서 볼 때, 이러한 표준 모듈들은 이미 최적화된 '검증된 클래스와 함수'의 집합이다. 이를 적극적으로 활용하여 불필요한 코드 중복을 줄이고 효율적인 아키텍처를 구축해 보길 바란다.

반응형