2

我不是 python 专家,我有以下while循环。它将迭代填充到缓冲区中。但是,这会导致while loop. 有什么办法可以删除这个吗?

    # Send data packets.
bytes_sent = 0
while (bytes_sent < len(padded_buf)):
  bytes_to_send = len(padded_buf) - bytes_sent
  assert bytes_to_send % 4 == 0
  bytes_this_block = min(_MAX_BLOCK_SIZE, bytes_to_send)
  s.send(padded_buf[bytes_sent:(bytes_sent + bytes_this_block)])
  bytes_sent += bytes_this_block

# Clean up and return.
s.close()
return bytes_sent

为任何帮助欢呼。

4

1 回答 1

0

我不确定您到底要删除什么……但无论是什么,您都可以轻松完成。

如果你真的想事后删除它,你可以。您在循环中定义的所有变量while在完成后仍然可用,它们的值来自上次迭代。所以你可以做这样的事情:

padded_buf = padded_buf[:-bytes_this_block]

但实际上,最好不要一开始就添加它。只需if在中间放一个声明,break如果你已经到了结尾。

于 2013-08-13T23:28:27.313 回答