difference between IDLE and command line

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Sat Nov 3 06:42:15 CET 2007


En Fri, 02 Nov 2007 13:38:07 -0300, Jim Hendricks  
<jim at bizcomputinginc.com> escribió:

> New to Python, and just had something strange happen.
>
> I've been running my new code in IDLE running in windows.  My IDLE
> version shows as 1.2.1, Python version displaying in IDLE is 2.5.1.
>
> I have been editing my code in UltraEdit then testing in IDLE by
> choosing open, then F5.  I didn't see an easy way to refresh in IDLE, so
> each edit I've been closing the file (not IDLE itself), then opening
> again.  Since IDLE does not keep track of what directory I last opened
> from, this gets tedious, so I decided to run my code from the command  
> line.
>
> Here's where it got interesting for me.  From the command line, I'm in
> the directory containing my source, I execute via "python mycode.py", I
> receive an error in my code.  Specifically, it's erroring because I have
> a copyright character in a string that I am outputting via the
> file.write method.  The error has to do with no encoding declared.
>
> What surprised me is that this code runs with no problems in IDLE.

Since version 2.4, Python *requires* an explicit encoding declaration at  
the start of the file, when it contains a string literal outside the ASCII  
range (0 to 127). See  
<http://www.python.org/doc/2.3/whatsnew/section-encodings.html>
That IDLE doesn't require an encoding (and assumes something, perhaps  
latin-1, I don't know) is an unfortunate bug (already reported, I think).

-- 
Gabriel Genellina




More information about the Python-list mailing list