すべて。
フォルダ内のいくつかのファイルの経過時間をチェックし、新しいファイルが作成されている場合は古いファイルを削除するスクリプトを作成しようとしています。新しいファイルが作成されなかった場合、古いファイルは削除されず、新しいファイルが作成されなかったことを通知する電子メールが送信されます。
OSモジュールctimeを使用してファイルの経過時間を確認し、外部スクリプト「sendmail」を使用して電子メールを処理しています。
現在は機能しているため、古いファイルと新しいファイルを正しく判別してから古いファイルを削除しますが、sendmailを呼び出すかどうかを正しく判断することはできません。披露させて:
for fn in os.listdir(path, f)
fn = os.path.jion(path, f)
ctime = os.stat(fn).st_ctime
if ctime > now - 1 * 86400: #this is a new file
new_files.append(fn)
countit = new_files.count(fn) #counting the occurence of appended files
if new_Files.count(fn) > countit: #checks the list
import sendmail
sendmail
elif ctime < now - 10 * 86400: #checking for old file
old_files.append(fn)
if new_files:
for fn in old_files:
os.remove(fn)
だから、私はこれについていくつかの助けを得ることができますか?私は本当に立ち往生しています。次のように、elif
ステートメントを使用してリストを確認する必要があります。
if ctime > now - 1 * 86400:
new_files.append(fn)
elif:
import sendmail
sendmail
それを書くのに適切な方法ですか?この決定を書く正しい方法はありますか?スクリプト全体が間違っていますか?
編集-申し訳ありませんが、私が気まぐれである場合、私はこれにしばらく取り組んできました、そしてそれは非常にイライラしています。私はあなたが与えることができるどんな助けにも感謝します!!!