Pythonを使用して本当に大きなデータをアップロードする可能性はありますか?
たとえば、100GB をアップロードするには、次のようなリクエスト モジュールを使用できます。
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
1 つの大きなファイルをアップロードする必要があるのに、多くの小さなファイルをアップロードするというこのコードの問題。また、関数でデータを生成しようとしました:
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:ソケットで解決