2015-06-18 1 views
0

Каков наилучший способ устранения этой ошибки? ТипError: sequence item 1: expected string, int foundnewbody = ntob (''). Join (newbody) TypeError: sequence item 1: expected string, int found

Файл python (не упоминается в traceback) - это 500 строк.

Request Headers: 
    COOKIE: admin_sess=c13d2f729d47c132b223e8f19ce77ac25aa12 
    ORIGIN: https://192.168.1.135:5001 
    Remote-Addr: 192.168.1.161 
    Content-Length: 36 
    USER-AGENT: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/43.0.2357.81 Chrome/43.0.2357.81 Safari/537.36 
    CONNECTION: keep-alive 
    REFERER: https://192.168.1.135:5001/ 
    X-REQUESTED-WITH: XMLHttpRequest 
    HOST: 192.168.1.135:5001 
    ACCEPT: */* 
    ACCEPT-LANGUAGE: en-US,en;q=0.8 
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8 
    ACCEPT-ENCODING: gzip, deflate 
[18/Jun/2015:18:10:15] HTTP Traceback (most recent call last): 
    File "/usr/lib/python2.7/site-packages/cherrypy/_cprequest.py", line 661, in respond 
    response.finalize() 
    File "/usr/lib/python2.7/site-packages/cherrypy/_cprequest.py", line 927, in finalize 
    content = self.collapse_body() 
    File "/usr/lib/python2.7/site-packages/cherrypy/_cprequest.py", line 894, in collapse_body 
    newbody = ntob('').join(newbody) 
TypeError: sequence item 1: expected string, int found 

ответ

0

str.join функция ожидает последовательность строки, но, по крайней мере, один пункт в вашем newbody является int. Попробуйте наложить их на строку сначала:

newbody = ntob('').join(map(str, newbody)) 
0

Как правило, рекомендуется также предоставить фрагмент кода, который воспроизводит проблему. Тем не менее, с вашим вопросом. Вы делаете что-то вроде:

class App: 

    @cherrypy.expose 
    def index(self): 
    return (0xdeadbeaf,) 

    @cherrypy.expose 
    def also(self): 
    yield 0xdeadbeaf 

обработчик CherryPy должен возвращать (выход) str, unicode, bytes или Iterable из них. Также вы можете возвращать объекты, подобные файлу. Вы не можете возвращать другие типы, например int или в последовательности int элементов.