sys.stdin.readline()
Mike Maxwell
maxwell at ldc.upenn.edu
Tue Aug 31 19:29:04 EDT 2004
Hallvard B Furuseth wrote:
> Mike Maxwell wrote:
>>When I invoke readline() in a for loop, why does it return a series of
>>one-char strings, rather than the full line?
>>
>>>>>for sL in sys.stdin.readline(): print sL
>
> It does return a full line. *One* line. Then your loop iterates
> over the characters in that line.
LoL, thanks!
> Try `for sL in sys.stdin.xreadlines(): print sL'.
> Or in newer Pythons, simply `for sL in sys.stdin: print sL'.
I think I saw that, but when I tried it, I got:
/lib/python2.3/pydoc.py:250: DeprecationWarning:
xreadlines is deprecated; use 'for line in file'.
--which got me off on this dead end.
What I was originally trying to do, is to implement a one-liner that
would act something like 'sed', but applying to Unicode characters. An
example would have a command that looked something like
"s/u'\u0D0A'//"
i.e. delete all instances of the Unicode char U+0D0A (which you can't do
with 'sed', at least not the version that I'm using).
The guy down the hall does these kinds of things with perl one-liners,
but I have more dignity than to use perl... Unfortunately, it's looking
more and more complex to do one-liners like this in Python. Am I
overlooking s.t.?
Mike Maxwell
More information about the Python-list
mailing list