Python에서 자주 사용되는 표준 모듈 사용법

1. 시간 처리 모듈 (time)

1 import time
2 # 시간戳를 문자열로 변환
3 current_timestamp = time.time()
4 print(current_timestamp)  # 시간戳 출력
5 time_tuple = time.localtime(current_timestamp)  # 시간 객체로 변환
6 print(time_tuple)
7 formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)  # 포맷팅
8 print(formatted_time)
9 # 문자열 시간을 시간戳로 변환
10 parsed_time = time.strptime("2023-04-05 14:30:00", "%Y-%m-%d %H:%M:%S")
11 print(parsed_time)
12 timestamp_result = time.mktime(parsed_time)
13 print(timestamp_result)
14 # 시간 연산
15 import datetime
16 print(datetime.datetime.now())  # 현재 시간 출력
17 print(datetime.date.fromtimestamp(time.time()))  # 시간戳를 날짜로 변환
18 print(datetime.datetime.now() + datetime.timedelta(days=3))  # 3일 후
19 print(datetime.datetime.now() + datetime.timedelta(hours=-2))  # 2시간 전
20 print(datetime.datetime.now() + datetime.timedelta(minutes=45))  # 45분 후
21 current_time = datetime.datetime.now()
22 print(current_time.replace(hour=10, minute=15))  # 시간 대체
2. 랜덤 생성 모듈 (random)

1 import random
2 import string
3 print(random.randint(1, 3))  # 1~3 사이 정수
4 print(random.randrange(1, 4))  # 1~3 범위 생성
5 # 랜덤 문자열 생성
6 char_pool = string.ascii_letters + string.digits
7 random_chars = random.sample(char_pool, 6)
8 print(random_chars)
9 print("".join(random_chars))
3. 파일 처리 모듈 (shutil)

1 import shutil
2 # 파일 복사
3 # shutil.copy("source_file.txt", "dest_file.txt")
4 # 디렉터리 복사
5 # shutil.copytree("source_dir", "dest_dir")
6 # 디렉터리 삭제
7 # shutil.rmtree("target_dir")
8 # 파일 이동
9 # shutil.move("source_path", "dest_path")
10 # 압축 생성
11 # archive_path = shutil.make_archive("backup", "zip", "source_folder")
4. 해시 검증 모듈 (hashlib)

1 import hashlib
2 
3 md5_hasher = hashlib.md5()
4 # md5_hasher.update(b"test_data")  # 해시 생성
5 # print(md5_hasher.hexdigest())
6 
7 # 파일 해시 검증
8 with open("test.txt", "rb") as file:
9     for chunk in iter(lambda: file.read(4096), b""):
10         md5_hasher.update(chunk)
11 print(md5_hasher.hexdigest())
5. 로깅 모듈 (logging)

1 import logging
2 from logging import handlers
3 
4 # 기본 로깅 설정
5 logging.basicConfig(
6     filename="app.log",
7     format='%(asctime)s - %(levelname)s: %(message)s',
8     level=logging.INFO
9 )
10 logging.info("애플리케이션 시작")
11 
12 # 다중 출력 설정
13 logger = logging.getLogger("app_logger")
14 logger.setLevel(logging.DEBUG)
15 
16 # 콘솔 핸들러
17 console_handler = logging.StreamHandler()
18 console_handler.setLevel(logging.DEBUG)
19 
20 # 파일 핸들러
21 file_handler = logging.FileHandler("debug.log", encoding="utf-8")
22 file_handler.setLevel(logging.WARNING)
23 
24 # 포맷터 설정
25 formatter = logging.Formatter('%(asctime)s - %(filename)s:%(lineno)d - %(message)s')
26 console_handler.setFormatter(formatter)
27 file_handler.setFormatter(formatter)
28 
29 logger.addHandler(console_handler)
30 logger.addHandler(file_handler)
31 
32 logger.debug("디버깅 정보")
33 logger.warning("경고 메시지")

태그: time Random shutil hashlib logging

8월 4일 18:42에 게시됨