gpt4 book ai didi

python - 使用 Python 和 sndhdr 模块检查文件是否为音频文件

转载 作者:行者123 更新时间:2023-12-02 23:45:06 24 4
gpt4 key购买 nike

我正在创建一个小型 python 程序,它遍历文件夹结构并对找到的每个音频文件执行一项任务。

我需要确定哪些文件是音频文件,哪些是“其他”文件(例如专辑封面的 jpeg),我希望进程忽略这些文件并移至下一个文件。

通过在 StackOverflow/Google/etc 上进行搜索,sndhdr 模块出现在大多数列表的顶部 - 我似乎无法让 sndhdr.what() 方法返回除“无”之外的任何内容,无论有多少 *.mp3 文件我扔它。我的大纲实现如下,谁能告诉我我做错了什么?

def import_folder(folder_path):
''' Imports all audio files found in a folder structure

:param folder_path: The absolute path of the folder
:return: True/False depending on whether the process was successful
'''

# Remove any spaces to ensure the folder is located correctly
folder_path = folder_path.strip()

for subdir, dirs, files in os.walk(folder_path):
for file in files:
audio_file = os.path.join(subdir, file)
print sndhdr.what(audio_file)
# The 'real' method will perform the task here

例如:
rootdir = '/home/user/FolderFullOfmp3Files'
import_folder(rootdir)
>>> None
>>> None
>>> None
...etc

最佳答案

它很像 sndhdr标准库的模块仅识别标准库也能够实际打开的文件类型('aifc'、'aiff'、'au'、'hcom'、'sndr'、'sndt'、'voc'、'wav '、'8svx'、'sb'、'ub' 或 'ul')。
原生不支持 MP3(OGG、FLAC、...)。

你可以试试python-magic用于检测各种文件类型(不仅是音频文件)。

根据您的操作系统,您还可以调用操作系统命令 file在您的文件上并使用 Python 解析结果。

您也可以对文件执行任何您想要执行的任务,然后使用 try/except检查是否发生异常。

关于python - 使用 Python 和 sndhdr 模块检查文件是否为音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32341972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com