ちょうどいいUnixの解決策が見つからなかったので、mp3をフォルダ階層に好きなように配置するための小さなアプリ/スクリプトの作成に取り組んでいます。それで私は自分で働くことにしました。これは抜粋です
if musfile[0]:
m = musfile[0]
tag.link(m)
mar = str(tag.getArtist())
mal = str(tag.getAlbum())
mti = str(tag.getTitle())
#m1track = str(tag.getTrack())
os.rename(m,mar + ' - ' + mti + '.mp3')
m = mar + ' - ' + mti + '.mp3'
os.makedirs(newmusicdir + '/' + mar + '/' + mal + '/')
shutil.copy(m,newmusicdir + '/' + mar + '/' + mal + '/')
if musfile[1]:
m = musfile[1]
tag.link(m)
mar = str(tag.getArtist())
mal = str(tag.getAlbum())
mti = str(tag.getTitle())
#m1track = str(tag.getTrack())
os.rename(m,mar + ' - ' + mti + '.mp3')
m = mar + ' - ' + mti + '.mp3'
os.makedirs(newmusicdir + '/' + mar + '/' + mal + '/')
shutil.copy(m,newmusicdir + '/' + mar + '/' + mal + '/')
等々。ただし、複数のファイルを整理するために、コードのブロックを再利用しているだけです。ただし、これはコードのいくつかのブロックでは非常に非効率的です。たとえば、自分の方法で50曲だけを整理したい場合、500行を超えるコードが必要になります。だから、とにかくループを使うことができるかどうか疑問に思いました。ただし、ループを使用する場合の問題は、ブロックごとにリスト内の番号を変更する必要があることです。たとえば、ブロック1から2まで、に変更musfile[0]
する必要がありmusfile[1]
ますが、ループでそれを行う方法がわかりません。実際、私はループについてほとんど知識がありません。私は十分に明確ですか?