17

重複の可能性:
python: どのファイルが新しいか、どのくらい時間が経過したか

Python では - どうすれば確認できますか - ファイルが他のファイルより新しいかどうかを確認するにはどうすればよいですか?

編集

作成時間と変更時間があります。

質問には、目的のプロパティを明示的に記載する必要があります。

変形

  • os.stat(FILE).st_mtime

  • os.path.getmtime(FILE)

創造

os.path.getctime(FILE)またos.stat(FILE).st_ctime、Unix ライクな OS では作成時間を与えません。ルートによるリンクには、Unix ライクなボックスでの作成時間を調べる方法に関する解決策があります。

4

4 に答える 4

14

を使用することもできますos.path.getctime。この例は、以前に作成された場合とそれ以外のTrue場合に返されます。file1file2False

import os.path
os.path.getctime('file1') < os.path.getctime('file2')

編集:あなたの質問に対するクロスプラットフォームの解決策はないことに注意してください-Unixのctime()は、作成時間ではなく、最終変更時間を意味します。os.stat(file).st_ctimeを使用する場合も同様です。

これは、 UNIXマシンで動作する可能性のあるもののようです。

于 2012-10-10T10:28:43.680 に答える
13
import os
f1 = os.path.getmtime('file1')
f2 = os.path.getmtime('file2')

if f1 > f2:

変更された時間を確認することが1つの解決策かもしれません

于 2012-10-10T10:22:12.007 に答える
4

os.stat任意のファイルで使用すると、ファイルに関する 10 の異なる統計のセットが得られます。統計の 1 つはcreation time-> st_ctime..それを使用して、2 つのファイルの作成時間の差を計算できます。

>>> import os
>>> os.stat("D:\demo.pl")
nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0, st_nlink=0, st_uid=0, 
st_gid=0, st_size=135L, st_atime=1348227875L, st_mtime=1348228036L, 
st_ctime=1348227875L)

>>> os.stat("D:\demo.pl").st_ctime
1348227875.8448658
于 2012-10-10T10:29:52.300 に答える
1
import os

def comp(path1, path2):    
    return os.stat(path1).st_ctime > os.stat(path2).st_ctime
于 2012-10-10T10:23:12.600 に答える