如何解决int()lireral与基数10错误web.py python

时间:2015-01-31 21:05:42

标签: python web.py

所以当我运行时:

class query:

    def GET(self, query, page = 1):
        size = 40
        results = es.search(index=conf.es_video_index, body={"size":int(size),
                  "from":int(size)*(int(page)),
                  "query":{
                      "match": {
                          "title": query,
                           }
                       }
                   })

我有这个错误:

invalid literal for int() with base 10: 

有人可以向我解释原因吗?

1 个答案:

答案 0 :(得分:2)

现在也许你的问题更多的是关于为什么page不是整数。我可以猜测你的url处理钩子是这样的:

"/(\w*)/(.*)", "query"

在这种情况下,queryGET方法有两个参数:第一个是query参数,第二个是page参数。

这只是一个很长的镜头但是如果你没有提供关于你的网址处理的任何信息以及引发异常的页面网址,我们可以猜出问题出在哪里。


如果问题确实是

  

有人能解释我为什么吗?

答案是因为page不是有效的整数文字字符串。这意味着它不是int或不是可以转换为int的字符串。请遵循一些不是文字字符串的示例:

  • 'abc'
  • '1.2'
  • None
  • 每个对象o,其中str(o)不是有效的文字整数

我只考虑page,因为size已经是一个整数,int(size)不能引发任何异常。