Python音乐标记器和组织

2024-04-20 13:59:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写一个程序来读取mp3或mp4音乐文件,然后打印到屏幕上有标签,但我写的代码似乎不工作,我完全沉浸在现在修复它

# import mutagen

    from mutagen.easyid3 import EasyID3

    from mutagen.mp4 import MP4

    from mutagen.mp3 import MP3

    # Define a function to read ID3 tags

    MP4 == (audio = MP4(ip))

    MP3 == (Audio = MP3(ip))

    def readid3 (ip):

        if music_file == MP4:

            print(audio['\xa9alb'])
            print(audio['\xa9nam'])
            print(audio['\xa9ART'])
            print(audio['\xa9gen'])


        else:

                if music_file == MP3:

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


                else:

                    print('Is not a MP3 or MP4 file')



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

# prompt user to enter a MP4

    music_file = open('mp4file.txt','a+')
    music_file.write("/Users/martins-mac/Music/iTunes/iTunes Media/Music/Frightened Rabbit/Pedestrian Verse/01 Acts of Man.m4a")
    music_file.close()

# call function to print ID3 tags

    readid3(music_file)

Tags: tofromimportipmusicfunctionmp3audio
1条回答
网友
1楼 · 发布于 2024-04-20 13:59:02

所以这两条线

MP4 == (audio = MP4(ip))

MP3 == (Audio = MP3(ip))

只是比较一下而已。它们只返回TrueFalse,没有任何效果。从目前的情况来看,他们只是把你导入的模块和作业进行比较,这让我很困惑。你想用这些台词做什么?你知道吗

if music_file == MP4:

是使用==的正确方法,但此时未定义music_file。稍后调用时,它是全局定义的,但看起来

if ip == MP4:

会更好的为你服务。你知道吗

当您开始readid3(music_file)时,您已经关闭了该文件。试着把music_file = open("mp4file.txt", "r")放在那行之前。你知道吗

您也可以很好地查看https://mutagen.readthedocs.org/en/latest/api/base.html,因为其中肯定有一些有用的示例。你知道吗

相关问题 更多 >