Verwenden Sie Python & Eyed3, um einige Tag -Felder zu nutzenPython

Python-Programme
Anonymous
 Verwenden Sie Python & Eyed3, um einige Tag -Felder zu nutzen

Post by Anonymous »

Ich habe 1.350 1970er MP3s, die ich den Albumnamen und die Tracknummern aus den Audio -Tag -Daten (META) mit Eyed3 entfernen möchte. Aus Beispielen im Internet konnte ich Folgendes stöbern. Die Dokumentation ist nicht klar, wie man verwendet, sondern hat Album und Track als Felder in den (meta-) Daten.

Code: Select all

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))
editFlag = 0
if ".mp3" in str(name):
print('Tag Info -> ' + str(audiofile.tag))
# Modify the metadata.
#audiofile.tag( album=None,  track_num=None)
#'''
if audiofile.tag.album:
audiofile.tag.album = u""
editFlag = 1

if audiofile.tag.track_num:
audiofile.tag.track_num = u""
editFlag = 1

#Save changes.
if editFlag == 1:
audiofile.tag.save()

```

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

starting
NOW ***
Content of '13th Floor Elevators - You're Gonna Miss Me.mp3'
Tag Info -> 
Traceback (most recent call last):
File "c:\Users\bill\Desktop\PythonPgms\SearchDirectoryWith_os_path_join.py", line 28, in     audiofile.tag.track_num = u""
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\bill\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\eyed3\core.py", line 151, in track_num
self._setTrackNum(v)
File "C:\Users\bill\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\eyed3\id3\tag.py", line 300, in _setTrackNum
self._setNum(frames.TRACKNUM_FID, val)
File "C:\Users\bill\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\eyed3\id3\tag.py", line 325, in _setNum
val = int(val)
^^^^^^^^
ValueError: invalid literal for int() with base 10: ''

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post