繁体   English   中英

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

[英]How to remove variable from last iteration of while loop in python

我不是 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

为任何帮助干杯。

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

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

padded_buf = padded_buf[:-bytes_this_block]

但实际上,最好不要首先添加它。 只需在 while 中间放置一个if语句,如果您已经到达结束,则break

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM