最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Using python & eyeD3 to null some tag fields - Stack Overflow

programmeradmin6浏览0评论

I have 1,350 1970s MP3s that I want to remove the album name and track numbers from the audio tag (meta) data using eyeD3. From examples on the Internet, I was able to cobble the following.

When run, the error says - AttributeError: 'NoneType' object has no attribute 'album'.

Internet examples suggest to use audiofile.tag.album and audiofile.tag.track_num. The documentation is not clear how to use but has album and track as fields in the (meta) data.

Python is V3.12 running on Windows 10 using MICROSOFT VISUAL STUDIO CODE

Please help with suggestions to a successful program.

import os
import eyed3

# Assign directory
directory = r"C:\Users\bill\Temp"

print('starting   ')
print('NOW *** ')

# Iterate over files in directory
for name in os.listdir(directory):
    # Open file
    with open(os.path.join(directory, name)) as f:
        print(f"Content of '{name}'")
        
        audiofile = eyed3.load(directory + '\\' + str(name))

        if ".mp3" in str(name):
            # Modify the metadata.

            print('Version ---  ' + str(audiofile.tag.version))

            editFlag = 0
            if audiofile.tag.album: 
                print('album ----> ' + str(audiofile.tag.album))
                audiofile.tag.album = u""
                editFlag = 1
            
            if audiofile.tag.track_num:
                print('Trk_Nm ---> ' + str(audiofile.tag.track_num))
                audiofile.tag.track_num = 0
                editFlag = 1

            if audiofile.tag.disc_num:
                print('Discnumber -- ' + str(audiofile.tag.disc_num))
                audiofile.tag.disc_num = 0
                editFlag = 1
            
            #Save changes.
            
            if editFlag == 1:
                print('Edited --> ' + str(name))
                audiofile.tag.save()
           
        

         ```

This is the output I'm getting with this code:

starting   
NOW *** 
Content of 'Caleb Carruth - Darkness Falls.mp3.m3u'
Traceback (most recent call last):
  File "c:\Users\bill\Desktop\PythonPgms\SearchDirectoryWith_os_path_join.py", line 21, in <module>    print('Version ---  ' + str(audiofile.tag.version))
                                ^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'tag'
发布评论

评论列表(0)

  1. 暂无评论