如何从python中的while循环的最后一次迭代中删除变量

时间:2013-08-13 22:52:29

标签: python while-loop

我不是python的专家,我在循环时得到了以下内容。它将迭代填充到缓冲区中。但是,这会导致while循环的最后一次迭代中出现一些不需要的填充。有什么办法可以删除吗?

    # 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

为任何帮助干杯。

1 个答案:

答案 0 :(得分:0)

我不确定你究竟要删除的是什么......但不管它是什么,你都可以轻松完成。

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

padded_buf = padded_buf[:-bytes_this_block]

但实际上,最好不要首先添加它。如果你已经到了最后,只需在if中加break语句。