在Python中更改文件元数据

cod*_*ght 4 python metadata

好吧,我在这里搜索过,但没有找到任何指向可靠答案的东西.

我正在尝试更改Windows中的文件艺术家,文件名,评级,流派等,当您在"详细信息"中查看文件夹时会显示这些文件.

目前我有我希望在列表中编辑的文件,我正在迭代它们,但正如我所说,我不知道如何更改列表中的每个文件.

def Files(The_FileList):
'''Changes each files metadata'''
for each_file in The_FileList:

    #clueless here.

return The_FileList
Run Code Online (Sandbox Code Playgroud)

需要使用.avi/.mkv一般电影文件,因为我做了很多编码.

我正在寻找一个简单的选项,因为这就是我想要做的.

谢谢

Nic*_*tin 6

在许多情况下(在这种情况下),元数据是特定于文件类型的.(有些文件系统提供了自己的元数据,如NTFS和后来的那样,但这个特定的元数据来自文件本身,而不是来自文件系统).

要修改相关文件中的元数据,您可能可以使用Mutagen库(假设这些是mp3/aac/flac/vorbis /等等 - 可能还有其他具有不同元数据格式的音频格式).


小智 6

诱变剂被实现。

\n\n

我留下了一个更改目录中所有文件的3个属性的示例:

\n\n
import mutagen\nfrom mutagen.mp4 import MP4\nfrom os import scandir\n\nruta = './'\nl_archivos = sorted([archivo.name for archivo in scandir(ruta) if archivo.is_file()])\n\nmutagen.File(l_archivos[1])      # U: See the tags of the data\n\ndef edit_Media_Data():\n\n    for f in range(len(l_archivos[:-1])):                 # A: A range of all the fields exept the script\n        file = MP4(l_archivos[f])                         # A: Capture the file to edit\n        file['\xc2\xa9nam'] = l_archivos[f].replace('.mp4','')   # U: Take the file name and makeit the tittle\n        file['\xc2\xa9ART'] = 'Hector_Costa_Guzman'              # U: Edit the Autor\n        file['\xc2\xa9alb'] = 'Curso_Django'                     # U: Edit the Album\n        file.pprint()\n        file.save()  \n
Run Code Online (Sandbox Code Playgroud)\n