欢迎访问宙启技术站
智能推送

Python中如何判断文件是否为视频类型

发布时间:2024-01-07 04:00:06

在Python中,可以通过检查文件的扩展名或文件的魔术数字来判断文件是否为视频类型。

方法一:检查文件的扩展名

在Python中,可以使用os.path模块来获取文件的扩展名。然后,可以根据所需的视频文件扩展名列表,来判断一个文件是否是视频类型。

下面是一个判断文件是否是视频类型的示例代码:

import os

def is_video_file(filename):
    video_extensions = ['.mp4', '.mov', '.avi', '.mkv']
    file_extension = os.path.splitext(filename)[1]
    if file_extension.lower() in video_extensions:
        return True
    else:
        return False
    
# 测试例子
filename = 'video.mp4'
if is_video_file(filename):
    print(f"{filename}是视频文件")
else:
    print(f"{filename}不是视频文件")

运行上述代码会输出 video.mp4是视频文件

方法二:检查文件的魔术数字

除了检查文件的扩展名,还可以通过检查文件的魔术数字来判断文件是否为视频类型。每种文件类型都有一个特定的魔术数字,可以用来识别该文件类型。

下面是一个检查文件的魔术数字的示例代码:

import imghdr

def is_video_file(filename):
    video_magic_numbers = ['\x00\x00\x00\x14', '\x00\x00\x01\xBA', '\x1A\x45\xDF\xA3']
    with open(filename, 'rb') as f:
        magic_number = f.read(4)
    if magic_number in video_magic_numbers:
        return True
    else:
        return False
    
# 测试例子
filename = 'video.mp4'
if is_video_file(filename):
    print(f"{filename}是视频文件")
else:
    print(f"{filename}不是视频文件")

在上述代码中,我们使用了imghdr模块来判断文件的魔术数字。imghdr模块通常被用来检查图像文件的魔术数字,但在这个示例中,我们也可以使用它来检查视频文件。

运行上述代码会输出 video.mp4是视频文件

总结:

通过检查文件的扩展名和魔术数字,可以判断一个文件是否为视频类型。以上是两种常用的方法,你可以根据实际需求选择其中的一种。