首页 > 解决方案 > Python将请求响应中的文件内容写入相应文件

问题描述

我有一个 API 服务,它以字节字符串和文件扩展名响应文件内容。我需要根据扩展名将此响应写入相应的文件。问题是我必须处理很多文件类型,包括 pdf、pkl、sav、csv 等。我找不到解决这个问题的通用解决方案

对于我正在做的 csv 文件:

data = response.content.decode('utf-8').splitlines()
print(data)
import csv,re
with open("tet.csv", "w") as csv_file:
    writer = csv.writer(csv_file, delimiter = '\t')
    for line in data:
        writer.writerow(re.split('\s+',line))

对于 pdf 文件:

with open('hh.pdf','wb') as fd:
     fd.write(oR.content)

似乎无法找到解决此问题的通用解决方案。需要任何帮助。提前致谢

标签: pythonpython-requests

解决方案


从 api 传入的 response.content 是二进制格式,所以无论文件类型如何,它只需要以二进制格式写入

with open(f'file.{extension}', 'w+b') as f:
    f.write(res.content)

推荐阅读