Python在MacOS下循环文件并获取文件信息。

4

我正在尝试在MacOS Monterrey中遍历我的目录中的所有mp3文件,并在每次迭代中获取文件的更多信息属性,例如标题、持续时间、作者等。我发现一篇帖子说要使用xattr,但是当我使用xattr创建一个变量时,它不显示文件的任何属性或属性。这是在Python 3.9中使用xattr包。

import os
import xattr
directory = os.getcwd()
for filename in os.listdir(directory):
    f = os.path.join(directory, filename)
    # checking if it is a file
    if os.path.isfile(f):
        print(f)
        x = xattr.xattr(f)
        xs = x.items() 
1个回答

5

xattr不能读取mp3元数据或标签,它是用于读取特定文件存储在文件系统本身中的元数据,而不是存储在文件内部的元数据/标签。

要获取所需的数据,您需要使用支持读取文件的的库读取mp3文件,例如:eyed3。

这里是一个小例子:

from pathlib import Path
import eyed3

root_directory = Path(".")
for filename in root_directory.rglob("*.mp3"):
    mp3data = eyed3.load(filename)
    if mp3data.tag != None:
        print(mp3data.tag.artist)
    print(mp3data.info.time_secs)

Data = None 用于什么? - Jorge
这是之前重写示例时剩下的。 - rasjani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接