Cambiando los metadatos de un archivo en Python

Ok, he buscado por aquí pero no he encontrado nada que apunte a una respuesta sólida.

Estoy tratando de cambiar un artista de archivos, nombre de archivo, clasificación, género, etc. en Windows, que aparece cuando ves carpetas en ‘detalles’.

En este momento tengo los archivos que deseo editar en una lista y los estoy repitiendo, pero como dije, no estoy seguro de cómo cambiarlos para cada archivo de la lista.

def Files(The_FileList): '''Changes each files metadata''' for each_file in The_FileList: #clueless here. return The_FileList 

necesita trabajar con archivos de películas en general .avi / .mkv como hago con mucha encoding.

Estoy buscando una opción simple ya que esto es todo lo que quiero hacer.

Gracias

En muchos casos (y en este caso), los metadatos son específicos del tipo de archivo. (Algunos sistemas de archivos ofrecen sus propios metadatos, como lo hacen NTFS y posteriores, pero estos metadatos en particular provienen del archivo en sí, y no del sistema de archivos).

Para modificar los metadatos en los archivos en cuestión, probablemente pueda usar la biblioteca Mutagen (asumiendo que estos son mp3 / aac / flac / vorbis / etc. Probablemente haya otros formatos de audio que tengan un formato de metadatos diferente).

Mutagen está actualizado.

Os dejo un ejemplo para cambiar 3 atributos de todos los archivos en el directorio:

 import mutagen from mutagen.mp4 import MP4 from os import scandir ruta = './' l_archivos = sorted([archivo.name for archivo in scandir(ruta) if archivo.is_file()]) mutagen.File(l_archivos[1]) # U: See the tags of the data def edit_Media_Data(): for f in range(len(l_archivos[:-1])): # A: A range of all the fields exept the script file = MP4(l_archivos[f]) # A: Capture the file to edit file['©nam'] = l_archivos[f].replace('.mp4','') # U: Take the file name and makeit the tittle file['©ART'] = 'Hector_Costa_Guzman' # U: Edit the Autor file['©alb'] = 'Curso_Django' # U: Edit the Album file.pprint() file.save()