Python に変換できなかった便利な Bash スクリプトに次の行があります。「a」は、アーカイブするファイルのユーザー入力日数です。
find ~/podcasts/current -mindepth 2 -mtime '+`a`+' -exec mv {} ~/podcasts/old \;
私は、最も一般的なクロスプラットフォーム要素の os.name と getpass.getuser に精通しています。~/podcasts/current に相当するすべてのファイルの完全な名前のリストを生成するこの関数もあります。
def AllFiles(filepath, depth=1, flist=[]):
fpath=os.walk(filepath)
fpath=[item for item in fpath]
while depth < len(fpath):
for item in fpath[depth][-1]:
flist.append(fpath[depth][0]+os.sep+item)
depth+=1
return flist
まず、それを行うためのより良い方法があるはずです。どんな提案も歓迎します。どちらの方法でも、たとえば、Windows では "AllFiles('/users/me/music/itunes/itunes music/podcasts')" で関連するリストが表示されます。おそらく、このリストを調べて os.stat(list_member).st_mtime を呼び出し、特定の日数より古いすべてのものをアーカイブに移動できるはずです。私はそのビットに少し立ち往生しています。
もちろん、bash コマンドの簡潔さを備えたものはすべて照明にもなります。