2015-03-20 8 views
1
# import mutagen 

from mutagen.easyid3 import EasyID3 

from mutagen.mp4 import MP4 

from mutagen.mp3 import MP3 

# Define a function to read ID3 tags 

def readid3mp3 (ip): 

    audio = MP3(ip) 

    print(audio['TALB']) 
    print(audio['TIT2']) 
    print(audio['TPE1']) 
    return 

У меня возникла проблема с добавлением цикла while в эту часть кода. Как вы можете видеть, если пользователь не вводит музыкальный файл в свои отпечатки («ooooops это не музыкальный файл»), но если это произойдет, я хочу, чтобы программа продолжала просить, пока пользователь не войдет в музыкальный файл.Добавление цикла while для проверки и исключения

####### main body ######## 

# prompt user to enter a MP4 

song = input('enter a music file please:') 

try: 

    readid3mp4(song) 

except IOError: 

    print("ooooops this is not a music file") 

else: 

    print("music file stored") 

ответ

2

Вы можете использовать цикл while, в котором вы прерываете чтение песни. В противном случае, если генерируется исключение, выводится сообщение об ошибке, и вы продолжаете работать нормально.

while True: 
    try: 
     readid3mp4(song) 
    except IOError: 
     print("ooooops this is not a music file") 
    else: 
     break