将 while 循环添加到 try 和 except 语句

Adding while loop to try and except statements

# 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 this is not a music file"),但如果发生这种情况,我希望程序继续询问,直到用户输入音乐文件。

####### 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")

您可以使用 while 循环,在正确阅读歌曲后中断。否则,如果抛出异常,则会打印错误消息,您可以正常继续。

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