2011-07-29 6 views
19

古いファイルが十分古い場合は、新しいファイルをダウンロードするスクリプトが必要です。私は秒単位でファイルの最大年齢を設定しました。スクリプトを書くと軌道に乗ることができるように、ファイルの保存期間が秒単位で表示されるサンプルコードが必要です。Pythonを使用してファイルの経過時間を秒単位で表示します。

+1

私たちは、あなたの既存のコードで問題を修正する手助けさせていただきます。ほとんどの場合、あなたのためにコードを書くことはありません。 –

+2

まあ、私は確かにあなたに同意することはできません。私は、例を挙げると私のコードを書いているわけではないと思います。また、私が求めていることは、あなたが私のためにコードを書くことであると言うなら、他の人々のために書いたコードがたくさんあります。 – Marko

答えて

26

これは、ファイル(またはディレクトリの)を見つける方法を示しています最終更新時刻:ここ

os.stat

import os 
st=os.stat('/tmp')  
mtime=st.st_mtime 
print(mtime) 
# 1325704746.52 

または、同等を使用して、エポックからの秒数です、使用:os.path.getmtime

print(os.path.getmtime('/tmp')) 
# 1325704746.52 
あなたが datetime.datetimeオブジェクトたい場合

import datetime   
print("mdatetime = {}".format(datetime.datetime.fromtimestamp(mtime))) 
# mdatetime = 2012-01-04 14:19:06.523398 

または私はそれを示さなかったがtime.ctime

import stat 
print("last accessed => {}".format(time.ctime(st[stat.ST_ATIME]))) 
# last accessed => Wed Jan 4 14:09:55 2012 
print("last modified => {}".format(time.ctime(st[stat.ST_MTIME]))) 
# last modified => Wed Jan 4 14:19:06 2012 
print("last changed => {}".format(time.ctime(st[stat.ST_CTIME]))) 
# last changed => Wed Jan 4 14:19:06 2012 

を使用してフォーマットされた文字列を、そこにアクセス時間を見つけるために同等であり、すべての時間を変更しますこれらの方法。リンクをたどって "atime"または "ctime"を検索してください。

+6

私の解決方法は次のとおりです: 'import os import time st = os.stat(Filename) 年齢=(time.time() - st.st_mtime) 印刷年齢' – Marko

12

別のアプローチ(私が最初の答えではなかったが、ここで、とにかく行く知っている):

import time, os, stat 

def file_age_in_seconds(pathname): 
    return time.time() - os.stat(pathname)[stat.ST_MTIME] 
関連する問題