En Fri, 02 Nov 2007 13:38:07 -0300, Jim Hendricks <[EMAIL PROTECTED]> 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 -- http://mail.python.org/mailman/listinfo/python-list