2017-06-23 8 views
0

ODIでコードを開発しています。私の必要性は、ディレクトリ内の最後に変更されたファイルの日付/時刻を取得し、最後に変更されたファイルの日付/時刻が5分を超えるかどうかを確認することです。そのフォルダ内のすべてのファイルを別のフォルダにコピーします。 5分未満の場合は、2分待ってからもう一度再確認してください。Pythonを使用してフォルダ内の最後に変更されたファイルの時刻を取得する方法

私は、.batファイルを使ってディレクトリ内の最後に変更されたファイルの日付/時刻を取得しました。出力を.txtファイルに保存し、そのファイルを一時インターフェイスにロードして、時間が5分を超えるかどうかを確認します。

私はPythonスクリプトを使用して自分の要件を達成したいと思っています。これは、ODIプロシージャの1ステップで実行されることを期待しています。

助けてください。事前

+0

'os.path.getmtime(パス)'のhttps:/ /docs.python.org/3/library/os.path.html – Lucas

+0

[Pythonでファイルの作成と変更の日時を取得する方法](https://stackoverflow.com/questions/237079/how- to-get-file-creation-modification-date-in-python) – Roelant

+0

何を試しましたか? – Netwave

答えて

1

おかげで、それは5分再帰なし より古い場合、フォルダ内の最後の変更されたファイルを削除するには:

import os 
import time 

folder = 'pathname' 

files = [(f, os.path.getmtime(f)) for f in os.listdir(folder) 
       if os.path.isfile(f)] 

files = sorted(files, key=lambda x: x[1], reverse=True) 

last_modified_file = None if len(files) == 0 else files[0][0] 

# get age file in minutes from now 
def age(filename): 
    return (time.time() - os.path.getmtime(filename))//60 

if last_modified_file is not None: 
    if age(last_modified_file) >= 5: 
     os.remove(last_modified_file) 
+0

こんにちは..ありがとうございました...要件の変更。最後に変更されたファイルの日付/時刻が5分より大きい場合は、そのフォルダを別のフォルダに移動します。5分未満の場合は2分待ってから再度確認してください。 – sar12089

関連する問題