[英]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.