Python 如何将内容直接写入tar文件?
我有一个url,我可以对其进行curl请求Python 如何将内容直接写入tar文件?,python,curl,python-requests,Python,Curl,Python Requests,我有一个url,我可以对其进行curl请求 curl --insecure --header "Expect:" \ --header "Authorization: Bearer <api key>" \ https://some-url --silent --show-error --fail -o data-package.tar -v 如何将其写入类似tarfile的数据包 内容将是整个文件的字节,您可以将其写出 import requests r
curl --insecure --header "Expect:" \
--header "Authorization: Bearer <api key>" \
https://some-url --silent --show-error --fail -o data-package.tar -v
如何将其写入类似tarfile的数据包 内容将是整个文件的字节,您可以将其写出
import requests
r = requests.get('...YOUR URL...')
# Create a file to write to in binary mode and just write out
# the entire contents at once.
# Also check to see if we get a successful response (add whatever codes
# are necessary if this endpoint will return something other than 200 for success)
if r.status_code in (200,):
with open('tarfile.tar', 'wb') as tarfile:
tarfile.write(r.content)
如果您正在下载任意tar文件,并且该文件可能相当大,您可以改为下载
import requests
tar_url = 'YOUR TAR URL HERE'
rsp = requests.get(tar_url, stream=True)
if rsp.status_code in (200,):
with open('tarfile.tar', 'wb') as tarfile:
# chunk size is how many bytes to read at a time,
# feel free to adjust up or down as you see fit.
for file_chunk in rsp.iter_content(chunk_size=512):
tarfile.write(chunk)
请注意,这种模式在wb模式下打开文件时,通常可以写入任何类型的二进制文件。我建议阅读Python 2
import requests
tar_url = 'YOUR TAR URL HERE'
rsp = requests.get(tar_url, stream=True)
if rsp.status_code in (200,):
with open('tarfile.tar', 'wb') as tarfile:
# chunk size is how many bytes to read at a time,
# feel free to adjust up or down as you see fit.
for file_chunk in rsp.iter_content(chunk_size=512):
tarfile.write(chunk)