簡體   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