[python] 파이썬에서 파일 생성 및 수정 날짜 / 시간을 얻는 방법?



4 Answers

당신은 몇 가지 선택권이 있습니다. 하나는 os.path.getmtime(path)os.path.getctime() 함수를 사용할 수 있습니다.

import os.path, time
print("last modified: %s" % time.ctime(os.path.getmtime(file)))
print("created: %s" % time.ctime(os.path.getctime(file)))

다른 옵션은 os.stat 를 사용하는 것입니다 :

import os, time
(mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(file)
print("last modified: %s" % time.ctime(mtime))

참고 : ctime() 은 * nix 시스템에서의 생성 시간을 나타내지 않고 마지막으로 inode 데이터가 변경된 시간을 나타냅니다. (재미있는 블로그 게시물에 대한 링크를 제공함으로써 코멘트에서 그 사실을 더 분명하게하는 코지로 덕분에)

Question

파일 작성 및 수정 날짜를 기반으로하는 몇 가지 작업을 수행해야하지만 Linux 및 Windows에서 실행해야하는 스크립트가 있습니다.

파이썬에서 파일 생성 및 수정 날짜 / 시간을 얻는 가장 좋은 크로스 플랫폼 방법은 무엇입니까?




다음의 기호 링크가 중요하지 않은 경우, os.lstat 내장 명령을 사용할 수도 있습니다.

>>> os.lstat("2048.py")
posix.stat_result(st_mode=33188, st_ino=4172202, st_dev=16777218L, st_nlink=1, st_uid=501, st_gid=20, st_size=2078, st_atime=1423378041, st_mtime=1423377552, st_ctime=1423377553)
>>> os.lstat("2048.py").st_atime
1423378041.0



os.statst_mtimest_ctime 속성을 가진 명명 된 튜플을 반환합니다. 수정 시간은 두 플랫폼 모두에서 st_mtime 입니다. 불행히도, Windows에서 ctime 은 "creation time"을 의미하는 반면, POSIX에서는 "change time"을 의미합니다. POSIX 플랫폼에서 생성 시간을 얻는 방법에 대해서는 잘 모르겠습니다.







시스템의 stat 명령을 실행하고 출력을 파싱하여 posix에서 생성 시간을 얻을 수있었습니다.

commands.getoutput('stat FILENAME').split('\"')[7]

터미널 (OS X)에서 파이썬 밖에서 stat를 실행하면 다음과 같이 반환됩니다.

805306374 3382786932 -rwx------ 1 km staff 0 1098083 "Aug 29 12:02:05 2013" "Aug 29 12:02:05 2013" "Aug 29 12:02:20 2013" "Aug 27 12:35:28 2013" 61440 2150 0 testfile.txt

... 네 번째 datetime은 파일 작성입니다 (다른 주석이 언급 된대로 ctime 변경 시간이 아니라).




Related



Tags

python python   file