通过网络请求下载的文件,有些时候不想重命名可以直接使用网页所返回的文件名
需要用到两个库
uuid 负责生成随机的数
unquote 负责解析编码后的字符
分了两种情况进行处理
1.找得到header 里面文件名
直接使用文件所返回的文件名
2.找不到header里面的文件名
自定定义随机的文件名
具体代码
import uuid
from urllib.parse import unquote
# 假设content就是网页返回的response.content内容
content = response.content
# 获取response中的文件名
header = response.headers.get('Content-Disposition')
if header:
filename = re.findall('filename=(.+)', header)[0]
filename = unquote(filename)
else:
filename = f"随机文件名{str(int(time.time() * 1000))}"
filename = f"随机文件名{str(int(time.time() * 1000))}_{str(uuid.uuid4())[:6]}"
print(filename)