3

バックアップを保存するディレクトリから14日より古いファイルを削除する必要があります。次のようなものを使用して、個々のファイルの時間を取得できます。

start = (os.path.getmtime(join(dirpath, name))/3600*24)  

しかし、timedeltaを使用してこれと現在の日付の違いを見つける方法に混乱しています。

次のようなものを使用したいと思います。

d = (datetime.timedelta(time.now() - os.path.getmtime(join(dirpath, dirname))  

しかし、私はそれを取得していません。私はここで一人でいます、そして私はいくつかの助けが欲しいです。

4

4 に答える 4

4

試す:

if time.time() - os.path.getmtime(filename) > 14 * 24 * 3600:
  print 'the file is older than 14 days'
于 2011-09-22T19:58:21.553 に答える
2

aは、別の からtimedeltaa を引いた結果です。この例では、 myが 1168 日で、 my より少し古いことを示しています。datetimedatetime/bin/bash/dev/null

>>> import datetime
>>> import os.path
>>> datetime.datetime.fromtimestamp(os.path.getmtime("/dev/null"))
datetime.datetime(2011, 7, 24, 18, 58, 28, 504962)
>>> datetime.datetime.fromtimestamp(os.path.getmtime("/bin/bash"))
datetime.datetime(2008, 5, 12, 15, 2, 42)
>>> datetime.datetime.fromtimestamp(os.path.getmtime("/dev/null"))-datetime.datetime.fromtimestamp(os.path.getmtime("/bin/bash"))
datetime.timedelta(1168, 14146, 504962)
>>> d = datetime.datetime.fromtimestamp(os.path.getmtime("/dev/null"))-datetime.datetime.fromtimestamp(os.path.getmtime("/bin/bash"))
>>> d.days
1168
于 2011-09-22T20:13:14.553 に答える
0
datetime.datetime.now()-datetime.timedelta(days=14)

そんな感じ?

于 2011-09-22T20:02:26.350 に答える
0

timeaix は、モジュールを使用して完全に良い答えを出しています。を使用した回答を次に示しますdatetime

from datetime import *
maxdays = timedelta(14)
mtime =datetime.fromtimestamp(os.path.getmtime(filename))
if mtime - datetime.now() > maxdays:
    print filename, 'older than 14 days'
于 2011-09-22T20:19:27.467 に答える