0
私はダウンロードしたテレビ番組のクリーンアップスクリプトを作成しています。私は、各フォルダ内で最大のファイルを取得し、移動/名前を変更して、そのフォルダを削除します。私が抱えている問題は、別の入れ子になったフォルダがあると、クラッシュしてスキップすることがあることです。私はこれを同じ機能を持つ再帰関数に変換する方法がわかりません。ハードコードされた30MBを使用するのではなく、最大のファイルを探すだけでいいでしょう。最大のファイルを見つけてフォルダを削除する
また、ダウンロードしたファイルの日付が正しくない場合があります。そのため、スクリプトが実行されたときに新しいファイルに現在の日付と時刻を付け加えることができればすばらしいでしょう。
import os
import shutil
dir = "C:\Users\Bobe\Downloads\TV\\"
for folder in os.listdir(dir):
if os.path.isdir(os.path.join(dir,folder)):
for file in os.listdir(dir + folder):
filelocation = dir+folder+"\\"+file
if os.path.getsize(filelocation) > 30000000: # This is in bytes (30 MB)
extension = os.path.splitext(file)[1]
shutil.move(filelocation, dir + folder + extension)
else:
os.remove(filelocation)
shutil.rmtree(dir + folder)
'None'は" -1 "より"初期化されていない "という意味のより良い特別な値で、' is not'と比較できます。 – nmichaels
しかし、もし最大のものがタプルでないなら、私は最初の比較をどうすればいいでしょう。私。私は最大のタプルをいつ割り当てるのですか?とにかくポインタのおかげで! –