¿Asignación en el bucle While en Python?

Acabo de encontrar este código

while 1:
    line = data.readline()
    if not line:
        break
    #...

y pensé, allídeb sea una mejor manera de hacer esto, que usar un bucle infinito conbreak.

Así que intenté:

while line = data.readline():
    #...

y, obviamente, obtuve un error.

¿Hay alguna manera de evitar usar unbreak ¿en esa situación

Editar

Idealmente, querrás evitar decirreadline dos veces ... En mi humilde opinión, repetir es aún peor que solo unabreak, especialmente si la declaración es compleja.

Respuestas a la pregunta(9)

Su respuesta a la pregunta