[Python] 표준 및 외부 라이브러리
[점프 투 파이썬↗️]을 바탕으로 정리한 글입니다.
1. 표준 라이브러리
- 파이썬 표준 라이브러리는 파이썬을 설치할 때 기본으로 제공되는 유용한 파일들의 집합이다
- 이 라이브러리를 통해 다양한 기능을 사용할 수 있으며, 추가로 설치할 필요 없이
import
를 통해 바로 사용할 수 있다.
1.1 datetime.date
연, 월, 일로 날짜를 표현할 때 사용하는 함수
import datetime
day1 = datetime.date(2021, 12, 14)
day2 = datetime.date(2023, 4, 5)
print(day2 - day1) # 날짜 차이 계산
1.2 time
시간 관련 작업을 수행하는 라이브러리
라이브러리 | 설명 |
---|---|
time.time | UTC(세계 표준시)를 사용하여 현재 시간을 실수 형태로 리턴하는 함수 |
time.localtime | 시간을 연, 월, 일, 시, 분, 초 등의 형태로 변환 |
time.asctime | time.localtime 결과를 받아 날짜와 시간을 알아보기 쉽게 리턴 |
time.ctime | 항상 현재 시간을 asctime과 동일한 형식으로 리턴 |
time.sleep | 지정된 시간 동안 프로세스를 일시 정지 (주로 반복문 안에서 사용) |
time.strftime | 시간과 날짜를 다양한 포맷으로 세밀하게 표현하는 함수 |
import time
print(time.time()) # 현재 UTC 시간을 초 단위로 반환
print(time.localtime(time.time())) # 지역 시간으로 변환
time.sleep(1) # 1초 대기
for i in range(10):
print(i)
time.sleep(1)
# %a: 요일의 줄임말, %b: 달의 줄임말, %c: 날짜와 시간을 출력 ... 다양한 포맷코드 존재
import time
print(time.strftime('%c', time.localtime()))
from datetime import datetime
timestamp=datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(timestamp)
1.3 math
수학적 계산을 위한 다양한 함수가 포함된 라이브러리
import math
print(math.gcd(60, 80)) # 최대 공약수
print(math.lcm(15, 25)) # 최소 공배수
1.4 random
난수 발생과 관련된 기능을 제공
import random
print(random.random()) # 0과 1 사이의 실수 난수
print(random.randint(1, 10)) # 1과 10 사이의 정수 난수
1.5 itertools
반복 가능한 객체에서 순열이나 조합을 구하는데 사용
import itertools
print(list(itertools.combinations(['1', '2', '3'], 2))) # 조합
print(list(itertools.permutations(['1', '2', '3'], 2))) # 순열
1.6 functools
함수형 프로그래밍을 지원하는 기능들이 포함
import functools as func
data = [1, 2, 3, 4, 5]
result = func.reduce(lambda x, y: x + y, data) # 합산
print(result)
1.7 operator
import operator
students = [("jane", 22, 'A'), ("dave", 32, 'B'), ("sally", 17, 'B')]
result = sorted(students, key=operator.itemgetter(1)) # 나이 기준 정렬
print(result)
1.8 shutil
파일 복사 및 이동 등 파일 관련 작업을 처리하는 라이브러리
import shutil
shutil.copy("source.txt", "destination.txt") # 파일 복사
1.9 glob
특정 패턴에 맞는 파일 경로를 리스트로 반환
import glob
print(glob.glob("*.txt")) # 현재 디렉토리의 모든 .txt 파일
1.10 pickle
파이썬 객체를 파일에 저장하고 불러오는 기능을 제공
import pickle
data = {'name': 'Alice', 'age': 25}
with open('data.pickle', 'wb') as f:
pickle.dump(data, f)
1.11 os
운영체제(OS)와 상호작용하는 다양한 기능을 제공
import os
print(os.getcwd()) # 현재 작업 디렉토리
os.mkdir('new_dir') # 새로운 디렉토리 생성
1.12 json
JSON 형식의 데이터를 다루기 위한 라이브러리
import json
data = {'name': '홍길동', 'age': 30}
with open('data.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False)
1.13 zipfile
ZIP 형식으로 파일을 압축하고 해제하는 기능을 제공
import zipfile
with zipfile.ZipFile('archive.zip', 'w') as zipf:
zipf.write('file1.txt')
1.14 threading
멀티 스레드를 사용하여 동시에 여러 작업을 처리하는 기능을 제공
import threading
def print_numbers():
for i in range(5):
print(i)
threads = [threading.Thread(target=print_numbers) for _ in range(5)]
for t in threads:
t.start()
for t in threads:
t.join()
1.15 tempfile
임시 파일 및 디렉토리를 다루기 위한 라이브러리
import tempfile
with tempfile.NamedTemporaryFile() as tmp_file:
print(tmp_file.name)
1.16 traceback
예외 발생 시 그 원인을 추적할 수 있는 정보를 제공
import traceback
try:
1 / 0
except ZeroDivisionError:
print(traceback.format_exc())
1.17 urllib
URL을 다루는 라이브러리. URL을 열거나 데이터를 다운로드할 수 있음
import urllib.request
urllib.request.urlretrieve('https://example.com', 'example.html')
1.18 webbrowser
시스템의 웹 브라우저를 호출하여 URL을 열 수 있는 라이브러리
import webbrowser
webbrowser.open('http://python.org')
2. 외부 라이브러리
외부 라이브러리는 기본적으로 설치되어 있지 않으며, pip
명령어를 사용하여 PyPI(Python Package Index)에서 다운로드하고 설치할 수 있다.
2.1 설치
pip install {라이브러리명}
명령어를 사용하여 외부 라이브러리를 설치할 수 있다.
pip install numpy
2.2 삭제
pip uninstall {라이브러리명}
명령어를 사용하여 설치된 외부 라이브러리를 삭제할 수 있다.
pip uninstall numpy
2.3 설치된 패키지 목록 확인
pip list
명령어를 사용하여 현재 설치된 모든 패키지를 확인할 수 있다.
pip list
2.4 업데이트
pip install --upgrade {라이브러리명}
명령어를 사용하여 라이브러리의 최신 버전을 설치할 수 있다.
pip install --upgrade numpy
댓글남기기