본문 바로가기
파이썬

파이썬의 차이점-유닉스 시스템에서 getmtime ()과 getctime ()

by º기록 2021. 1. 11.
반응형

누군가 유닉스 시스템에서 os.path.getmtime (path) os.path.getctime (path) 의 차이점을 지정해 주시겠습니까? 파이썬 문서의 정의에 따라 :

os.path.getmtime (경로)

경로를 마지막으로 수정 한 시간을 반환합니다. 반환 값은 number giving the number of seconds since the epoch (see the time 기준 치수). 파일이 없거나 액세스 할 수없는 경우 os.error를 발생시킵니다.

os.path.getctime (경로)

일부 시스템 (예 : Unix)에서 시스템의 ctime을 반환합니다. time of the last change, and, on others (like Windows), is the creation time for path. The return value is a number giving the number of seconds since the epoch (see the time module). Raise os.error if 파일이 존재하지 않거나 액세스 할 수 없습니다.

그것은 기본적으로 유닉스 / 시스템에서 사용될 때 동일한 것을 의미합니까?

#!/usr/bin/python
import os
print os.path.getmtime('File')
print os.path.getctime('FIle')

두 지문 모두 나에게 동일한 가치를 가져옵니다.

기본적으로 마지막 수정 날짜가 아닌 file의 마지막 생성 날짜를 찾고 있습니다. 유닉스에서 동일한 것을 달성하는 방법이 있습니까?

 

해결 방법

 

mtime은 파일의 내용이 마지막으로 변경된 시간을 나타냅니다. 이것은 유닉스 시스템에서 다양한 방식으로 변경 될 수 있습니다. 종종 백업에서 파일을 복원 할 때 mtime이 변경되어 백업이 이루어지기 전에 내용이 마지막으로 변경된 시간을 나타냅니다.

ctime은 inode가 마지막으로 변경된 시간을 나타냅니다. 이것은 변경할 수 없습니다. 백업이있는 위의 예에서 ctime은 여전히 ​​파일 복원 시간을 반영합니다. 또한 파일 권한과 같은 사항이 변경되면 ctime이 업데이트됩니다.

불행히도 일반적으로 파일 생성의 원래 날짜를 찾을 수있는 방법이 없습니다. 이것은 기본 파일 시스템의 제한 사항입니다. ext4 파일 시스템이 inode에 생성 날짜를 추가했다고 생각하며 Apple의 HFS도 지원하지만 Python으로 검색하는 방법을 잘 모르겠습니다. (C stat 함수와 해당 stat 명령은이를 지원하는 파일 시스템에 대한 정보를 보여줍니다.)

 

참조 페이지 https://stackoverflow.com/questions/17958987

 

 

반응형

댓글