如何检查要从链接下载的文件类型

2024-05-17 12:13:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用以下代码行从链接下载文件:

urllib.request.urlretrieve('http://ipfs.io/ipfs/QmcgBRy',f'{UNKNOWN_FACES_DIR}\\sample2.mp4')

但问题是我不知道链接中存储的是什么类型的文件,因此在下载之前无法给出适当的文件扩展名

在下载之前,有没有办法知道文件的类型,例如.jpg、.jpeg、.mp4等


Tags: 文件代码iohttp类型链接requestdir
2条回答

可以使用Python-Magic查找文件的MIME类型。我想这是用于此目的的最好的图书馆。你可以这样做

import magic
magic.from_file("testdata/test.pdf")

# OUTPUT
# >>> 'PDF document, version 1.2'

推荐版本

import magic
magic.from_buffer(open("testdata/test.pdf").read(2048))

# OUTPUT
# >>> 'PDF document, version 1.2'

使用纯urllib,可以从以下内容获取内容类型:

import urllib
url = 'https://i.imgur.com/Woi6pwf.jpg' 
urllib.request.urlopen(url).info()['content-type']

返回: 'image/jpeg'

相关问题 更多 >