Я пытаюсь загрузить XML с содержимым Unicode на FTP-сервер с помощью ftplib, но получаю следующее исключение, когда пытаюсь загрузить метод using storbinary. XML-данные правильно закодированы в unicode (utf-8), я в этом убедился, я не уверен, почему storbinary пытается кодировать его в ascii при загрузке. Кто-нибудь может помочь?
--> 429 ftp.storbinary("STOR file.xml", xml) 430 431 def run(self): /usr/lib/python2.7/ftplib.pyc in storbinary(self, cmd, fp, blocksize, callback, rest) 463 buf = fp.read(blocksize) 464 if not buf: break --> 465 conn.sendall(buf) 466 if callback: callback(buf) 467 conn.close() /usr/lib/python2.7/socket.pyc in meth(name, self, *args) 222 223 def meth(name,self,*args): --> 224 return getattr(self._sock,name)(*args) 225 226 for _m in _socketmethods: UnicodeEncodeError: 'ascii' codec can't encode character u'\xae' in position 3368: ordinal not in range(128)
unicode
, поэтому он вообще не закодирован. - person Cairnarvon   schedule 24.02.2013xml
- файловый объект? В противном случае используйтеStringIO
для создания файлового объекта из вашей XML-строки. - person Austin Phillips   schedule 24.02.2013