Python 如何将内容直接写入tar文件?

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

我有一个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 = 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)