2010-12-16 93 views
2

当我在只有HTTP标头的大文件上运行我的Python代码后,它给了我上述错误。任何想法是什么意思?ValueError:无效文字为int()以10为底:'MSIE'

这里是一块代码:

users = output.split(' ')[1] 
accesses = output.split(' ')[3] 
ave_accesses = int(accesses)/int(users) 

基本上“用户”是谁访问过一个网站,并“访问”的访问由用户到该网站的用户总数。 'ave_accesses'给出了普通用户访问该网站的次数。我希望这足以澄清事情,如果不是我可以解释更多。

非常感谢,Adia。

+1

“我的Python代码”? “只有HTTP标头的大文件”?没有追踪。没有代码。我们没有线索。 – 2010-12-16 12:05:50

+0

我在上面的帖子中做了一些修改。告诉我如果不够。 – Adia 2010-12-16 12:14:14

+1

还不够。你应该发布一个示例数据。旁白评论:你不需要调用'split'两次。 'splito = output.split();用户= splito [1]; accesscesses = splito [3]'。 – khachik 2010-12-16 12:19:35

回答

2

这意味着您正在尝试将字符串转换为整数,并且该字符串的值为'MSIE'。回溯将在该错误和行号附近具有文件名(例如/my/module.py:123)。打开文件并转到发生错误的行,您应该看到使用参数调用int()。该参数可能应该是字符串形式的数字,但事实并非如此。你可能让你的解析代码有点不对,而且字段混淆了。

要跟踪此问题,请使用代码周围的print语句查看未按预期工作的情况。您也可以使用pdb

1

我认为,你的头输出是乱码。显然,它正在寻找一个数字,它找到一个字符串MSIE(可能是User-Agent的值)。

相关问题