2013-05-07 219 views
0

运行代码时ValueError异常:无效的基数为10字面INT(): '结果'

data = urllib.urlencode(parameters) 
     req = urllib2.Request(url, data) 
       logging.info('shivaniHAHOHJSJKDNVJNCMBVJDCVHJSHHHHEKLLOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO') 
     logging.info(data) 
     try: 
      response = urllib2.urlopen(req) 
     except urllib2.URLError, e: 
      self.redirect('/error') 
     json_post = response.read() 
     data = json.loads(json_post) 
     self.redirect('/'+str(data)) 
     response_dict = simplejson.loads(json_post) 

     virustotal = VirusTotal() 
     logging.info('1111111111111111111111111111111111111111111111111') 
     logging.info('result') 
     logging.info(data[int('result')]) 
     if data ['result'] == 0: 
      virustotal_result = True 

我获得以下在我的日志文件

ValueError: invalid literal for int() with base 10: 'result' 
    INFO  2013-05-07 12:14:19,142 server.py:561] default: "GET /query?  url=abc.com&submit=Scan HTTP/1.1" 500 - 
    INFO  2013-05-07 12:16:01,857 server.py:561] default: "GET/HTTP/1.1" 200 1236 
    INFO  2013-05-07 12:16:01,894 server.py:561] default: "GET /images/logo.png HTTP/1.1" 304 - 
    INFO  2013-05-07 12:16:01,898 server.py:561] default: "GET /css/cssscript.css HTTP/1.1" 304 - 
    INFO  2013-05-07 12:16:01,943 server.py:561] default: "GET /images/left.png HTTP/1.1" 304 - 
    INFO  2013-05-07 12:16:01,950 server.py:561] default: "GET /images/right.png HTTP/1.1" 304 - 
    INFO  2013-05-07 12:16:01,950 server.py:561] default: "GET /images/bg.png HTTP/1.1" 304 - 
    INFO  2013-05-07 12:16:02,065 server.py:561] default: "GET /favicon.ico HTTP/1.1" 404 154 
    WARNING 2013-05-07 12:16:10,082 urlfetch_stub.py:453] Stripped prohibited headers from URLFetch request: ['Content-Length', 'Host'] 
    INFO  2013-05-07 19:16:23,915 main.py:420] shivaniHAHOHJSJKDNVJNCMBVJDCVHJSHHHHEKLLOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 
    INFO  2013-05-07 19:16:23,917 main.py:421] resource=http%3A%2F%2Fgoogle.com&scan=1&key=b99eeaddac6ef5cf62746beffd71f1e16708b6db6085de243f050e241c6c671f 
    WARNING 2013-05-07 12:16:23,924 urlfetch_stub.py:453] Stripped prohibited headers from URLFetch request: ['Content-Length', 'Host'] 
    INFO  2013-05-07 19:16:33,023 main.py:432] 1111111111111111111111111111111111111111111111111 
    INFO  2013-05-07 19:16:33,026 main.py:433] result 
    ERROR 2013-05-07 19:16:33,028 webapp2.py:1528] invalid literal for int() with base 10: 'result' 


    Traceback (most recent call last): 
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1511, in __call__ 
    rv = self.handle_exception(request, response, e) 
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1505, in __call__ 
    rv = self.router.dispatch(request, response) 
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1253, in default_dispatcher 
    return route.handler_adapter(request, response) 
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1077, in __call__ 
    return handler.dispatch() 
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 547, in dispatch 
    return self.handle_exception(e, self.app.debug) 
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 545, in dispatch 
    return method(*args, **kwargs) 
    File "C:\Users\Shivani\Desktop\malbee-phish (1)\main.py", line 434, in get 
    logging.info(data[int('result')]) 
ValueError: invalid literal for int() with base 10: 'result' 

什么可以是可能的原因。 ??如果我尝试数据[“结果”]不用INT()它给了我下面的错误 类型错误:列表索引必须是整数,而不是str的

回答

3

当然好了这条线将无法正常工作

logging.info(data[int('result')])如何int('result')应该工作?

你的堆栈跟踪告诉你到底是什么问题。

所以我问你的问题,你在哪里的result

数据得到一个值“结果”]只有当数据是一本字典,你必须在它的值为“结果”

一项重点工作

或者,如果数据是一个列表(这是TypError列表索引必须是整数,而不是str告诉你,那么结果作为一个变量必须在某个点赋予一个整数值。出现的结果(变量)曾经赋值。

+0

感谢输入..但PLZ做看看此http://计算器.com/questions/16405750/typeerror-list-indices-must-be-integers-not-str-sometimes-working-sometimes- – katherine 2013-05-07 07:03:58

+0

这个人有同样的问题。看看“数据”是什么类型。这是非常基本的Python。现在看看原始的json。我敢打赌,它来自一些JavaScript,往返不会导致你所期望的。对json载入的内容进行一些基本的调试。最终,你不能摆脱你试图将非整数字符串转换为int的事实。 - 这是行不通的,这是你问到的错误。 – 2013-05-07 07:14:33

+0

数据是列表类型..和IM分配值的结果在开始..结果= db.IntegerProperty()..我真的是新的python和结果的值打印是.. INFO 2013-05- 07 20:30:47,871 main.py:76] 可以给我一些语法指导,以解决同样的问题。谢谢 – katherine 2013-05-07 07:28:21

2

您有int('result') whic h将永远不会工作。也许你的意思是int(result)

(虽然我不能看到如何将工作要么,看到你从来没有分配给一个变量result。)

相关问题