Python записать содержимое файла из запроса ответа в соответствующий файл - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть служба API, которая отвечает содержимым файла в байтовой строке и расширением файла. Мне нужно написать этот ответ в соответствующий файл на основе расширения. Проблема в том, что мне приходится работать со многими типами файлов, включая pdf, pkl, sav, csv et c. Я не могу найти универсальное c решение для решения этой проблемы

для 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)

Кажется, я не могу получить общее решение c для решения этой проблемы. Любая помощь определена. Заранее спасибо

1 Ответ

0 голосов
/ 08 апреля 2020

Входящий response.content из api имеет двоичный формат, поэтому независимо от типа файла его просто нужно записать в двоичном формате

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