[IPython-dev] can't %edit python statement inclued non-ascii charset
michael.j.mclay at gmail.com
Wed Mar 12 08:22:06 EDT 2008
The error is triggered when the edit command writes the string to a
temporary file using the builtin open function. The codecs.open
function will write a non-ascii character to a file as the following
Python 2.5.1 (r251:54863, May 2 2007, 16:56:35)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> s = u'\245\200'
>>> open('test.uraw', 'w').write(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position
0-1: ordinal not in range(128)
>>> import codecs
>>> codecs.open('test.uraw', 'w',encoding='utf-8').write(s)
Andrew Kuchling wrote a very informative tutorial on using Unicode in Python.
2008/3/12 tocer <tocer.deng at gmail.com>:
> I typed a python statement inclued non_ascii charset,such as:
> In  : s = '你好' # it's a Chinses string
> when I wanted to edit the statement again by typing edit command:
> In : edit In
> a error occured:
> UnicodeEncodeError: 'ascii' codec can't encode characters in
> position 5-6: ordinal not in range(128)
> how could I make the mistake disapper.
> btw:my box is ubuntu7.04, python2.5, ipython8.2
> IPython-dev mailing list
> IPython-dev at scipy.org
More information about the IPython-dev