私が見つけた他の答えに基づいてそれをまともな試みをしましたが、しっかりしたものは何も管理していません(私の解決策は恐ろしく遅いですが、他の方法はないかもしれません)。基本的に、私は「スクラッチ」と呼ばれるフォルダを持っており、ユーザーはそこに独自のフォルダを作成してデータをダンプできます。
30日以上使用されていないユーザーのフォルダーを見つけるためのスクリプトが必要です。ユーザーフォルダで最近変更されたディレクトリを見つけて(再帰的に検索することで)、古いディレクトリを除外することで、これを実行できると考えました。
ユーザーディレクトリのリストを取得するコード:
dirlist = list()
for filename in os.listdir("\\\\abg-netapp1\\Scratch\\"):
dirlist.append(filename)
次に、「dirlist」の各インデックスを反復処理して、検索するためのフルパスを作成できます。
x=0
for item in dirlist:
max_mtime = 0
for dirname,subdirs,files in os.walk("\\\\abg-netapp1\\Scratch\\" + dirlist[x]):
for fname in subdirs:
full_path = os.path.join(dirname, fname)
mtime = os.stat(full_path).st_mtime
if mtime > max_mtime:
max_mtime = mtime
max_dir = dirname
max_file = fname
print max_dir, max_file, time.strftime('%Y-%m-%d', time.localtime(max_mtime))
x+=1
30日以上経過したディレクトリをまだ除外していないことはわかっていますが、このコードで変更できるものがあるかどうかを確認したかっただけです。
私はこれを間違った方法で行っていますか、これに対するより簡単な解決策はありますか?ご不明な点がございましたら、お気軽にお問い合わせください。