2010-12-16 13 views
2

Nachdem ich meinen Python-Code auf einer großen Datei von nur HTTP-Headern ausgeführt habe, gibt es mir den obigen Fehler. Irgendeine Idee, was das bedeutet?ValueError: ungültiges Literal für int() mit Basis 10: 'MSIE'

ist hier ein Stück des Codes:

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

Grundsätzlich ist die ‚Nutzer‘ sind Nutzer, die eine Website zugegriffen haben, und ‚greift‘ die Gesamtzahl der Zugriffe durch die Nutzer zu dieser Website sind. Der 'ave_accesses' gibt die Anzahl der Zugriffe auf diese Site durch einen durchschnittlichen Benutzer an. Ich hoffe, das ist genug, um Dinge zu klären, wenn ich nicht mehr erklären kann.

vielen dank, Adia.

+1

"mein Python-Code"? "eine große Datei von nur HTTP-Headern"? Keine Rückverfolgung. Kein Code. Wir haben keine Ahnung. –

+0

Ich habe einige Änderungen im obigen Beitrag vorgenommen. Sag mir, wenn nicht genug. – Adia

+1

nicht genug. Sie sollten Beispieldaten veröffentlichen. Nebenkommentar: Sie müssen nicht zweimal "Split" aufrufen. 'splito = output.split(); Benutzer = splito [1]; Zugriffe = splito [3] '. – khachik

Antwort

2

Dies bedeutet, dass Sie versuchen, eine Zeichenfolge in eine Ganzzahl zu konvertieren, und der Wert der Zeichenfolge ist "MSIE". Das Traceback wird einen Dateinamen in der Nähe dieses Fehlers und der Zeilennummer haben (z. B. /my/module.py:123). Öffnen Sie die Datei und gehen Sie zu der Zeile, in der der Fehler aufgetreten ist. Sie sollten einen Anruf an int() mit einem Parameter sehen. Dieser Parameter sollte wahrscheinlich eine Zahl in Stringform sein, ist es aber nicht. Wahrscheinlich hast du deinen Parsing-Code ein wenig falsch verstanden, und die Felder waren durcheinander.

Um das Problem aufzuspüren, verwenden Sie print Anweisungen um den Code, um zu sehen, was nicht wie erwartet funktioniert. Sie können auch pdb verwenden.

1

Ich denke, Ihre Header-Ausgabe ist verstümmelt. Es sucht offensichtlich nach einer Nummer, wo es eine Zeichenkette MSIE findet (was der Wert für User-Agent sein kann).

Verwandte Themen