一度に 1MB 単位で文字列を読み取り、XMLRPC 経由でアップロードしたいのですが、これが最善の方法でしょうか? 気をつけるべきことはありますか?
while data.read(1048576) != None:
data.seek(1048576, 1)
if not rpc_srv.chunk_upload(tf_uuid, data_chunk):
raise Exception('Failed to upload data.')
iter()
関数を番兵と共に使用して、ループを単純化できます。
for data_chunk in iter(lambda: data.read(1048576), ''):
if not rpc_srv.chunk_upload(tf_uuid, data_chunk):
raise Exception('Failed to upload data.')
.seek()
する必要はありません.read()
。呼び出しはすでに位置を更新しています。