是否有可能使用 python 上传真正的大数据?
例如要上传 100GB,我可以使用 requests 模块,例如:
with open('really_big_file') as f:
requests.post('http://some.url/streamed', data=f)
我没有任何文件的问题。我需要生成一些随机数据并将其上传到服务器。像这样的东西:
while uploaded_size < required_size:
data = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(1000))
requests.post('http://some.url/chunk', data)
uploaded_size += 1000
这段代码的问题是它会上传许多小文件,而我需要上传一个大文件。我也尝试使用函数生成数据:
def gen():
while uploaded_size < required_size:
data = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(1000))
uploaded_size += 1000
yield data
requests.post('http://some.url/chunked', data=gen())
这个变种会抛出错误:Broken pipe
如果您能说出我的错误在哪里或我应该尝试什么模块,我将不胜感激。
UPD:通过套接字解决