IT한다옹의 미니별

해당 디렉터리에서 수정된 시간 별로 파일 나열하기 - Python 본문

IT/Python

해당 디렉터리에서 수정된 시간 별로 파일 나열하기 - Python

IT한다옹 2017. 11. 2. 03:51

 * 해당글은 개인공부자료 이거나 작업일지 입니다.

* 내용은 주로 에러, 해결사항 등 입니다.

** 혹시나 저와 같은 에러사항이 발생해서 오셨다면 도움이 되었으면 좋겠습니다. **

* 질문에 대한 답변이 없을 수 도 있습니다. *



[해당 디렉터리에서 수정된 시간 별로 파일 나열하기]
[개발 환경]
OS : win10
Python 3.5.1


[설명]

해당 디렉터리의 파일들을 최근에 수정된 시간별로 나열한다.
os.listdir() 로 해당 경로의 파일을 리스트로 반환한다.
os.path.getmtime() 로 파일의 수정시간을 타임스탬프로 출력한다.
datetime.datetime.fromtimestamp() 로 타임스탬프를 실제 시간으로 변경한다.


[결과]



[소스코드]
import os
import datetime
import sys
from time import localtime, strftime

original_stdout = sys.stdout
t_date = strftime("%y%m%d", localtime())

save_file = open('file'+t_date+'.txt', 'w', encoding='UTF-8')
sys.stdout = save_file


d_file = '../test1/'
files = os.listdir(d_file)
# listdir() 해당 경로의 파일을 리스트로 반환

print('test1 폴더의 파일 :', files)
print('\n')


for f_name in files: #list의 내용을 한줄씩 출력해보았다. (가독성 좋게)
print("%s" % f_name)
print('\n')


#파일의 수정시간을 타임스탬프로 출력한 후 내림차순으로 정렬하였다.
for i in range(0,len(files)):
for j in range(0,len(files)):
if datetime.datetime.fromtimestamp(os.path.getmtime(d_file+files[i])) > \
datetime.datetime.fromtimestamp(os.path.getmtime(d_file+files[j])):
(files[i], files[j]) = (files[j], files[i])


for i in range(0,len(files)):
print(datetime.datetime.fromtimestamp(os.path.getmtime(d_file+files[i])))
print('\n')

print('최근에 수정한 상위 5개 파일 출력 :', files[0:5])
print('\n')

for f_name in files: #list의 내용을 한줄씩 출력해보았다. (가독성 좋게)
print("%s" % f_name)

sys.stdout = original_stdout
save_file.close()




[부가적인 설명]



'IT > Python' 카테고리의 다른 글

보안뉴스 기사 크롤링하기 - Python  (0) 2017.10.26
Comments