Я только что наткнулся на этот фрагмент кода
while 1:
line = data.readline()
if not line:
break
#...
и подумал, что должен быть лучший способ для этого вместо использования бесконечного цикла с break
.
Итак, я попробовал:
while line = data.readline():
#...
и, очевидно, получил ошибку.
Есть ли способ избежать использования break
в этой ситуации?
В идеале, вы бы не хотели повторять readline
дважды ... ИМХО, повторение даже хуже, чем просто перерыв
, особенно если утверждение сложное.
С python 3.8 (который реализует PEP-572) этот код теперь действителен:
while line := data.readline():
# do something with line