파이썬 표준 라이브러리란?
파이썬 표준 라이브러리(Python Standard Library)는 파이썬을 설치할 때 기본적으로 함께 제공되는 다양한 기능들의 모음입니다. 복잡한 작업을 손쉽게 처리할 수 있는 모듈들이 포함되어 있어, 별도의 설치 없이 import만으로 바로 사용할 수 있다는 점이 큰 장점입니다. 표준 라이브러리는 문자열 처리, 파일 입출력, 날짜와 시간 처리, 수학 계산, 데이터 압축, 네트워크 통신, 운영체제 기능 접근 등 매우 광범위한 작업을 다룰 수 있도록 구성되어 있습니다. 초보자가 처음부터 외부 라이브러리를 배우기보다는, 표준 라이브러리부터 익히는 것이 훨씬 좋습니다. 다음은 자주 사용하는 표준 라이브러리 모듈 몇 가지입니다.
- math: 수학 계산
- datetime: 날짜와 시간 처리
- os: 운영체제 기능 접근
- random: 난수 생성
- sys: 시스템 정보 접근
- json: JSON 데이터 처리
- re: 정규표현식
각 모듈 별 유용한 표준 라이브러리 실습 예제
1. math 모듈 - 수학 함수
import math
print(math.sqrt(16)) # 제곱근 계산 → 4.0
print(math.factorial(5)) # 팩토리얼 계산 → 120
print(math.pi) # 파이 상수 출력
복잡한 수학 계산을 직접 구현하지 않고 math 모듈을 통해 간단히 처리할 수 있습니다.
2. datetime 모듈 - 날짜 및 시간 다루기
import datetime
now = datetime.datetime.now()
print("현재 시간:", now)
print("연도:", now.year)
print("월:", now.month)
print("일:", now.day)
현재 날짜와 시간 정보를 받아오는 데 자주 사용되며, 일정 계산이나 로그 기록 등에 활용됩니다.
3. os 모듈 - 시스템 경로 및 파일 정보 다루기
import os
print(os.getcwd()) # 현재 작업 디렉터리 출력
print(os.listdir()) # 현재 폴더의 파일 목록
파일 시스템과 상호작용할 때 매우 유용하며, 파일 자동 정리, 백업 스크립트 등에 자주 사용됩니다.
4. random 모듈 - 난수 생성
import random
print(random.randint(1, 10)) # 1부터 10 사이의 정수
print(random.choice(["가위", "바위", "보"]))
간단한 게임 만들기, 샘플링, 데이터 무작위화 등에 자주 활용됩니다.
5. json 모듈 - JSON 데이터 처리
import json
data = {"이름": "홍길동", "나이": 25}
json_str = json.dumps(data, ensure_ascii=False)
print(json_str)
parsed = json.loads(json_str)
print(parsed["이름"])
파이썬 객체를 JSON 형식으로 변환하거나, JSON 문자열을 파이썬 객체로 변환할 때 사용됩니다. API와 연동할 때 필수적입니다.
표준 라이브러리를 활용한 실용 아이디어
표준 라이브러리는 실생활 문제 해결에 곧바로 적용할 수 있습니다. 다음은 초보자가 따라 해볼 수 있는 실용적인 활용 예시입니다.
1. 파일 자동 백업 스크립트 (os + datetime 활용)
import os
import shutil
import datetime
folder = "./data"
backup = f"./backup_{datetime.datetime.now().strftime('%Y%m%d')}"
os.makedirs(backup, exist_ok=True)
for filename in os.listdir(folder):
shutil.copy(os.path.join(folder, filename), backup)
print("백업 완료!")
특정 폴더의 파일을 날짜별로 백업하는 자동화 스크립트입니다.
2. 간단한 퀴즈 게임 (random 활용)
import random
question = ["파이썬은 어떤 언어인가?", "변수란 무엇인가?", "리스트는 무엇을 위한 자료형인가?"]
print("문제:", random.choice(question))
퀴즈 앱, 추첨 프로그램 등 다양한 상황에서 유용하게 사용할 수 있습니다.
3. 로그 기록 시스템 (datetime + with문 활용)
import datetime
with open("log.txt", "a") as f:
f.write(f"[{datetime.datetime.now()}] 프로그램 실행됨\n")
시간 정보와 함께 로그를 남기는 기능은 프로그램의 상태를 기록하고 디버깅하는 데 중요합니다.
이처럼 파이썬 표준 라이브러리는 별다른 설치 없이도 매우 강력한 기능을 제공하며, 실제 업무 및 학습에서 널리 사용됩니다. 초보자는 자주 쓰이는 몇 가지 모듈부터 연습해보며, 공식 문서를 참고해 더 다양한 기능을 탐색해보는 것이 좋습니다.