UnicodeDecodeError: 'ascii' codec can't decodee byte 0xff in position 0: ordinal not in range(128)
Fabio Zadrozny
fabiofz at gmail.com
Mon Nov 18 06:45:37 EST 2013
On Mon, Nov 18, 2013 at 2:55 AM, Hoàng Tuấn Việt <vietht2 at viettel.com.vn>wrote:
> Hi all,
>
>
>
> I use Python telnetlib on Windows 7 32 bit. Here is my code:
>
>
>
> def *telnet*(*self*, host, os, username, password):
>
> connection = telnetlib.Telnet(host)
>
> connection.read_until(*'login: '*)
>
> connection.write(username + *'\r'*)
>
> connection.read_until(*'assword: '*)
>
> connection.write(password + *'\r'*)
>
> connection.read_until(*'>'*, timeout = TIMEOUT)
>
> return connection
>
>
>
> I can run the program in Eclipse and telnet successfully to a Windows host.
>
>
>
> But when I export to .exe file:
>
>
>
> from distutils.core import setup
>
> import py2exe
>
>
>
> setup(
>
> options = {
>
> *"py2exe"*:{
>
> *"packages"*: [*'wx.lib.pubsub'*],
>
> *"dll_excludes"*: [*"MSVCP90.dll"*, *"HID.DLL"*,
> *"w9xpopen.exe"*],
>
> }
>
> },
>
> console = [{*'script'*: *‘my_program.py'*}]
>
> )
>
>
>
> and run the programe, I encounter this error:
>
>
>
> UnicodeDecodeError: 'ascii' codec can't decodee byte 0xff in position 0:
> ordinal not in range(128)
>
>
>
> at line:
>
>
>
> connection.write(username + '\r')
>
>
>
> I have debugged and searched the Internet hard but found no solution yet.
>
>
>
> I think it is because of ‘\r’.
>
>
>
> Do you have any idea?
>
>
>
> Viet
>
> --
> https://mail.python.org/mailman/listinfo/python-list
>
>
You should be able to reproduce the same behavior on PyDev if in your run
configuration you select the encoding of the console to be ascii (run > run
configurations > select run configuration > common > set encoding to
us-ascii).
My guess is that you have the problem because the username has non-ascii
chars -- and you're receiving it as an unicode and not a string... so, you
have to do encode it properly to a string before writing to the connection
(i.e.: username.encode('utf-8') + '\r' -- although the encoding may have to
be a different one and not utf-8).
Cheers,
Fabio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20131118/3ee4cd4c/attachment.html>
More information about the Python-list
mailing list