我不是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
为任何帮助干杯。
答案 0 :(得分:0)
我不确定你究竟要删除的是什么......但不管它是什么,你都可以轻松完成。
如果你真的想在事后删除它,你可以。您在while
循环中定义的所有变量在完成后仍然可用,它们的值来自上一次迭代。所以你可以这样做:
padded_buf = padded_buf[:-bytes_this_block]
但实际上,最好不要首先添加它。如果你已经到了最后,只需在if
中加break
语句。