2012-06-09 4 views
9

, 디렉토리에디렉토리의 파일 속성을 읽는 방법? 예를 들어

import os 
print os.listdir() 

목록 파일.

디렉토리의 모든 파일에 대해 파일 수정 시간을 얻는 방법은 무엇입니까?

+0

가능한 중복 [? 파일 생성 및 수정 날짜/파이썬에서 시간을 얻을 방법] (http://stackoverflow.com : 당신이 인수 listdir를 사용하는 경우, 당신은 또한 os.path.join를 사용해야합니다/questions/237079/how-to-get-file-creation-modification-date-in-python) –

답변

28

수정 시간과 같은 파일 속성을 얻으려면 os.stat 호출을 사용하십시오.

import os 
for filename in os.listdir(): 
    info = os.stat(filename) 
    print info.st_mtime 

st_mtime

파이썬 2.5까지의 부동 소수점 값은 에포크 초를 나타내는; time 또는 datetime 모듈을 사용하여 표시 목적으로 또는 이와 유사한 것으로 해석하십시오.

정확한 의미와 st_atime, st_mtime 및 st_ctime 속성의 해상도가 운영 체제 및 파일 시스템에 따라 다릅니다

는 값의 정밀도는 사용중인 OS에 따라 있습니다 마십시오. 예를 들어, FAT 또는 FAT32 파일 시스템을 사용하는 Windows 시스템에서 st_mtime은 2 초의 해상도를 가지며 st_atime은 단 1 일만의 해상도를 갖습니다. 자세한 내용은 운영 체제 설명서를 참조하십시오.

수정 시간을 얻는다면 os.path.getmtime 방법은 편리한 바로 가기입니다. 후드 아래에서 os.stat 방법을 사용합니다.

그러나, os.stat 호출은 비교적 비쌉니다 (파일 시스템 액세스). 따라서 많은 파일에서이 작업을 수행하고 파일 당 둘 이상의 데이터 포인트가 필요한 경우 os.stat을 사용하는 것이 더 낫습니다. 정보는 os.path 편의 방법을 사용하는 대신 반환되며 os.stat은 파일 당 여러 번 호출됩니다.

3

변경된 시간 만 원할 경우 os.path.getmtime(filename)을 입력하면됩니다.

import os, os.path 

for filename in os.listdir(SOME_DIR): 
    print os.path.getmtime(os.path.join(SOME_DIR, filename))