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 ループを追加する際に問題が発生しています。ご覧のとおり、ユーザーが音楽ファイルを入力しないと表示されますが (「うーん、これは音楽ファイルではありません」)、これが発生した場合は、ユーザーが音楽ファイルを入力するまでプログラムに尋ね続けます。

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

1 に答える 1

2

曲を正しく読み取った後にブレークする while ループを使用できます。それ以外の場合、例外がスローされた場合、エラー メッセージが出力され、通常どおり続行します。

while True:
    try:
        readid3mp4(song)
    except IOError:
        print("ooooops this is not a music file")
    else:
        break
于 2015-03-20T11:17:19.530 に答える