python判断文件是否是音频
时间: 2023-12-20 14:04:15 浏览: 66
判断文件是否是音频可以通过检查文件扩展名或文件头信息来实现。
方法一:根据文件扩展名判断
音频文件通常有以下扩展名:.mp3, .wav, .flac, .aac, .ogg等。
可以通过Python的os.path.splitext()函数获取文件扩展名,然后进行判断。
示例代码:
```python
import os
def is_audio_file(file_path):
ext = os.path.splitext(file_path)[1].lower()
return ext in ['.mp3', '.wav', '.flac', '.aac', '.ogg']
# 测试
file_path = 'test.mp3'
print(is_audio_file(file_path)) # True
```
方法二:根据文件头信息判断
文件头信息是文件前几个字节的内容,可以用来判断文件类型。不同类型的文件有不同的文件头信息。
常见音频文件的文件头信息如下:
- MP3文件:前三个字节为0xFF、0xFB,或前四个字节为0x49、0x44、0x33;
- WAV文件:前四个字节为RIFF,后四个字节为WAVE;
- FLAC文件:前四个字节为fLaC。
可以通过Python的二进制读取方式读取文件头信息,然后进行判断。
示例代码:
```python
def is_audio_file(file_path):
with open(file_path, 'rb') as f:
header = f.read(4)
if header == b'\xFF\xFB' or header == b'\x49\x44\x33':
return True # MP3文件
elif header == b'RIFF' and f.read(4) == b'WAVE':
return True # WAV文件
elif header == b'fLaC':
return True # FLAC文件
else:
return False
# 测试
file_path = 'test.mp3'
print(is_audio_file(file_path)) # True
```