xmlrpc newpaste - ожидаемый объект с интерфейсом буфера

StackOverflow https://stackoverflow.com/questions/6815585

  •  25-10-2019
  •  | 
  •  

Вопрос

В PY2 был

rv = xmlrpc.pastes.newPaste(language, code, None, filename, mimetype, private)

Я получаю ошибку: ожидал объект с интерфейсом буфера

Не могу найти никаких документов о XMLRPC и PY3. Я нашел только этот фрагмент:

p1 = subprocess.Popen(['gpg','--clearsign'], stdin = subprocess.PIPE, stdout=subprocess.PIPE)
p1.stdin.write(bytes(input, 'UTF8'))
output = p1.communicate()[0]

s = ServerProxy('http://paste.pocoo.org/xmlrpc/')
pasteid = s.pastes.newPaste('text',output.decode())
print ("http://paste.pocoo.org/raw/",pasteid,"/", sep="")

Но меня все еще смущают это ... моя версия использовала много аргументов, где я могу найти полное описание его / исправления для этого?

Спасибо.

Это было полезно?

Решение

Это сообщение об ошибке обычно означает, что он ищет str (который является Unicode в Python 3), а не bytes Анкет Как и в примере, вам нужно расшифровать аргумент, который находится в байтах. Может быть:

rv = xmlrpc.pastes.newPaste(language, code.decode(), None, filename, mimetype, private)

Но трудно сказать, в чем проблема, не видя вашего кода.

Другие советы

В Python 3. xmlrpclib был разделен на два модуля, xmlrpc.client а также xmlrpc.server.

Документы для 3.2.1 можно найти по адресу:

http://docs.python.org/release/3.2.1/library/xmlrpc.client.html

http://docs.python.org/release/3.2.1/library/xmlrpc.server.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top