Python 시간 경과된 파일 삭제하기
카테고리: PythonStudy
Python 으로 경과된 시간에 따라 파일 삭제하기
os/datetime
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import os
import datetime
path = '/Users/baegono/Desktop/Python/PythonBlog/TextFile'
today = datetime.datetime.now()
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isfile(file_path):
# 파일 생성 시간 출력
file_creation_date = datetime.datetime.fromtimestamp(os.path.getctime(file_path))
# 파일 경과된 날짜 출력
days_ago_created = (today - file_creation_date).days
if days_ago_created > 10:
print(f"{file_path} : 파일이 삭제됩니다.")
os.remove(file_path)
file_creation_date
을 보면 os.path.getctime(file_path)
가 보인다.
이는 파일의 생성 시간을 Unixtime 으로 반환하기에 print() 를 통해 찍어보면 알아볼 수 없다.
그래서 datetime 모듈의 fromtimestamp()
를 통해 날짜로 변환할 수 있다.
참고로 Unixtime 은 1970년 1월 1일부터 몇 초가 흘렀는지를 나타내는 수치라고 한다.
days_ago_created
을 보면 (today - file_creation_date)
가 있는데
이는 현재 시간에서 파일의 생성 시간이 얼마나 흘렀는지 초 단위로 출력하기 때문에
.days
를 통해 하루 단위로 출력하게 된다.
따라서 위의 코드는 10일이 지난 파일을 삭제하는 코드이다.
댓글남기기