"sins" (aka, acknowledged language problems)
Aahz Maruch
aahz at netcom.com
Fri Dec 17 09:57:26 EST 1999
In article <6D8A17398E28D3119F860090274DD7DB4B3D51 at pces.cadlab.it>,
Alex Martelli <Alex.Martelli at think3.com> wrote:
>
>Would this also apply, to a weaker but broader extent, to the lack of
>assigning-operators, an "expression" kind of assignment, increment and
>decrement in particolar, or other issues of the expression/statement
>split?
Yes and no. I am, on the whole, very happy with the way Python
absolutely does not allow assignments in conditions. Increment and
decrement would be useful, but not if it would break the
expression/statement split. I think you'll find that very few long-term
Pythonistas see this as an issue.
> while 1:
> line = inp.readline()
> if not line:
> break
> oup.write(regex.sub(repl,line))
>
>and wonder that *FOUR*-count-em lines of this function, fully half of
>it, are devoted to the trivial, frequent, repetitive task of looping
>over input lines, reading each one, bailing out when done. Yeah, I
>know I could have written the break on the same line as the if, but
>that's considered bad Python style:_)
>
>But why can't I change those 4 lines to, say:
> while line := inp.readline():
>using the suggested ":=" operator that I've seen mentioned now and
>then? Or, maybe even better, "while line from inp.readline()" or other
>variants suggested in the past.
Because the current consensus is that eventually you will be able to
write
for line in inp.readline():
In fact, if you're willing to take a chance on memory usage, you can
already do
for line in inp.readlines():
Fredrik already showed you another module that you can use; finally, you
can try using QIO to make up for Python's deficiencies in line-by-line
file IO.
--
--- Aahz (@netcom.com)
Androgynous poly kinky vanilla queer het <*> http://www.rahul.net/aahz/
Hugs and backrubs -- I break Rule 6
Eighth Virtual Anniversary -- 14 days and counting!
More information about the Python-list
mailing list