python -i
Paul Boddie
paul at boddie.net
Tue Oct 9 10:30:28 EDT 2001
epchaves at yahoo.com.br wrote:
>
> if i do: python -i myfile.py
> the output is OK: çççàààaaa
>
> but if i do: python myfile.py
> the output isn't the expected: ÇÇÇÀÀÀaaa
Could there be a file defined in the PYTHONSTARTUP environment
variable which makes it work as expected? Have you checked the
documentation to see which other start-up resources might be affecting
your results?
For what it's worth, using Python 2.0.1 on Windows NT 4.0, invoking
the lower method on a string of characters in an interactive session
within an MS-DOS window doesn't yield complete success:
>>> print "ÅÅÅØØØAAA".lower()
ÅÅÅØØØaaa
>>>
The same operation works both from within a script and interactively
in IDLE:
>>> print "ÅÅÅØØØAAA".lower()
åååøøøaaa
>>>
It's virtually meaningless to test running a script with or without -i
at the MS-DOS prompt, given the strange characters that are returned,
but if one sends the output data to a file, one sees the same output
as in the first case above for both interactive and non-interactive
script execution.
Now, when I try Unicode, things work out a bit better. Here's my
script:
print u"ÅÅÅØØØAAA".lower().encode("cp1252")
print u"ÅÅÅØØØAAA".lower().encode("iso8859-1")
Here are the results (for both with and without -i):
åååøøøaaa
åååøøøaaa
Sadly, this doesn't work interactively at the MS-DOS prompt, but it
does work in IDLE.
No, I don't know what all this means, unfortunately, apart from that
Unicode is the only thing you may be able to rely on, and that MS-DOS
boxes on Windows NT can't necessarily be trusted (hardly a big
surprise, that). That's not too surprising, given the potential for
ambiguity with standard character strings.
Paul
More information about the Python-list
mailing list