cStringIO,读取块中的字节直到EOF?

时间:2012-08-24 09:49:07

标签: python xml-rpc

我想一次读取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.')

1 个答案:

答案 0 :(得分:1)

您可以使用带有哨兵的iter() function来简化循环:

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()来电已更新此位置。