2017-02-05 13 views
1

Итак, у меня есть два списка; один - список названий песен, другой - список файлов, которые генерируются при запуске os.listdir(), которые будут песнями mp3-файлов.Итерации по двум спискам, проверка совпадений, а затем переименование

ОБНОВЛЕНО

songs = ['The Prediction', 'Life We Chose', 'Nastradamus', 'Some of Us Have Angels', 'Project Windows', 'Come Get Me', "Shoot 'em Up", 'Last Words', 'Family', 'God Love Us', 'Quiet Niggas', 'Big Girl', 'New World', 'You Owe Me', 'The Outcome'] 

Каждая песня юникода

filenames = ['Nas - Big Girl.mp3', 'Nas - Come Get Me.mp3', 'Nas - God Love Us.mp3', 'Nas - Life We Chose.mp3', 'Nas - Nastradamus.mp3', 'Nas - New World.mp3', "Nas - Shoot 'Em Up.mp3", 'Nas - Some of Us Have Angels.mp3', 'Nas - The Outcome.mp3', 'Nas - The Prediction.mp3', 'Nas Feat. Bravehearts - Quiet Niggas.mp3', 'Nas Feat. Ginuwine - You Owe Me.mp3', 'Nas Feat. Mobb Deep - Family.mp3', 'Nas Feat. Nashawn - Last Words.mp3', 'Nas Feat. Ronald Isley - Project Windows.mp3'] 

Каждое имя файла является строкой

Я хочу, чтобы иметь возможность взглянуть на список песен, если один из элементы из списка песен совпадают в списке имен файлов, переименуйте файл в файл песни.

Это имеет смысл?

+1

Возможно, я не понимаю. Но если вы хотите, чтобы файл _rename_ соответствовал названию песни, тогда как вы сопоставляете записи в обоих списках? – roganjosh

+2

У вашего вопроса есть только один список – citynorman

+3

Что сказал @roganjosh. Что означает «совпадение», если строки уже не совпадают? Как вы можете узнать из имени файла, с каким заголовком оно связано? –

ответ

1

В основном это выглядит следующим образом:

import os 

for song in songs: 
    for filename in filenames: 
     if song.lower() in filename.lower(): # lower() just in case 
      os.rename(filename, song + '.mp3') 

Если вам нужно что-нибудь еще, пожалуйста, спрашивайте.

+0

Работала лучше при переключении циклов for для имени файла в именах файлов: для песни в песнях: –