날짜 시간 기준 파일 삭제하는 파이썬 예제Python/Python 예제 코드2023. 10. 21. 22:07
Table of Contents
반응형
파일 이름을 날짜시간으로 지정한 후, 지정한 날짜보다 오래된 파일을 지우는 예제코드입니다. .
2022. 11. 09 최초작성
2023. 01. 21 파일 삭제하는 것 까지 구현
2023. 03. 27 모듈 임포트 방법 변경 및 파일 삭제 코드 수정
아래 코드를 실행해보면 3개의 비교식에 대해 모두 True가 출력됩니다.
from datetime import datetime # 기준 날짜시간입니다. date_time_str = '20221109_065122_656' # 기준날짜보다 오래된 날짜시간입니다. date_time_old_str = '20221009_065122_656' # 기준날짜보다 최근 날짜시간입니다. date_time_new_str = '20221209_065122_656' # 문자열로 된 날짜 시간을 datatime 타입으로 변환합니다. date_time_obj = datetime.strptime(date_time_str, '%Y%m%d_%H%M%S_%f') date_time_old_obj = datetime.strptime(date_time_old_str, '%Y%m%d_%H%M%S_%f') date_time_new_obj = datetime.strptime(date_time_new_str, '%Y%m%d_%H%M%S_%f') # 부등호를 사용하여 기준날짜시간 date_time_obj보다 이전 날짜시간인지 이후 날짜시간인지 파악이 가능합니다. print(date_time_new_obj > date_time_obj) print(date_time_old_obj < date_time_obj) print(date_time_old_obj < date_time_new_obj) |
10일 전 파일을 지워주는 예제입니다.
1. 테스트에 사용할 텍스트 파일을 생성하는 코드입니다. 현재 날짜(포스트에선 2023-03-27)를 기준으로 15일 전까지 텍스트 파일을 생성해줍니다.
from datetime import datetime, timedelta datetime_now = datetime.now() for i in range(-15,1): datetime_before = datetime_now + timedelta(days=i) filename = datetime_before.strftime('%Y%m%d_%H%M%S_%f') f = open(filename+'.txt', 'w') f.close() print(filename) |
2. 최근 10일치만 남겨두고 나머지는 삭제하는 코드입니다다.
다음처럼 현재 날짜(포스트에선 2023-03-27)를를 기준으로 10일치를 남겨두고고
나머지는 삭제합니다.
import os from datetime import datetime, timedelta PATH = './' for root, subdirs, files in os.walk(PATH): if len(files) > 0: for f in files: fullpath = root + '/' + f filename = f.split('.')[0] ext = f.split('.')[1] if ext != 'txt': continue date_time_obj = datetime.strptime(filename, '%Y%m%d_%H%M%S_%f') now = datetime.now() before_ten_day = now - timedelta(days=10) if date_time_obj < before_ten_day: if os.path.isfile(fullpath): os.remove(fullpath) print('del', fullpath) |
반응형
'Python > Python 예제 코드' 카테고리의 다른 글
파이썬 리스트에서 특정값에 가까운 수 찾기 (0) | 2023.11.04 |
---|---|
지정한 시간으로부터 몇 초 지났는지 출력하는 파이썬 예제 (0) | 2023.10.24 |
UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 5302: illegal multibyte sequence (0) | 2023.10.21 |
리스트의 값 범위를 변환하는 파이썬 예제 (0) | 2023.10.21 |
Python tqdm 예제 - 진행 상태를 프로그레스바로 보여줌 (0) | 2023.10.21 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!