Python でサブディレクトリを検索して、パターンに一致するファイルを見つけるにはどうすればよいですか? 手動でディレクトリを変更してスクリプトを実行すればこれを実行できますが、このツリーのルート ディレクトリから開始してスクリプトを実行したいと考えています。私はそれをやってのけることができません。
魅力のように機能するディレクトリ内で行うことは次のとおりです。
for root, subs, files in os.walk("."):
date = re.search("\w*.-\w*.-\w*.",file)
date_clean = date.group(0).strip()
hour = re.search("hr\d", file)
hour_clean = hour.group(0).strip()
new_name = "Podcast-" + date_clean + "-" + hour_clean +".mp3"
print "Changing",file,"to",new_name+"."
os.rename(file,new_name)
これは、ディレクトリを変更して実行すると機能しますが、ルート ディレクトリから実行したいと考えています。
D:\Files
\Podcasts
\August
\Show 1 AUG-12-2013 Portland hr 1.mp3
Show 2 AUG-12-2013 Portland hr 2.mp3
1 か月以上のファイルがあるので、すべてのファイルの名前を Podcast-MMM-DD-YYYY-hrX.mp3 に変更したいと思います。fnmatch.filter を使用してみましたが、それはディレクトリを見つけるのに役立つだけで、ディレクトリに入ってこれらのファイルの名前を変更するのではありません。
私は何を間違っていますか?