2010-12-16 19 views
2

HTTPヘッダーだけの大きなファイルでPythonコードを実行すると、上記のエラーが表示されます。それは何を意味するのでしょうか?ここでValueError:基数10のint()のリテラルが無効です: 'MSIE'

は、コードの一部です:

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

は、基本的には「ユーザ」のウェブサイトにアクセスし、そのサイトへのユーザーによるアクセスの総数です「アクセス」をしているユーザーです。 'ave_accesses'は、平均的なユーザーによるそのサイトへのアクセス数を示します。私はこれが物事をクリアするのに十分であることを願っています。

ありがとう、Adia。

+1

"my Python code"? "HTTPヘッダーだけの大きなファイル"?トレースバックはありません。コードなし。私たちは手がかりがありません。 –

+0

私は上記の投稿にいくつかの変更を加えました。十分でない場合は教えてください。 – Adia

+1

で十分ではありません。サンプルデータを投稿する必要があります。あなたは 'split'を2回呼び出す必要はありません。 'splito = output.split();ユーザー= splito [1];アクセス= splito [3] '。 – khachik

答えて

2

これは、文字列を整数に変換しようとしていることを意味し、文字列の値は「MSIE」です。トレースバックには、このエラーの近くにファイル名と行番号(例:/my/module.py:123)があります。ファイルを開き、エラーが発生した行に移動すると、パラメータ付きのint()への呼び出しが表示されます。そのパラメータはおそらく文字列形式の数値であるはずですが、そうではありません。おそらくあなたの解析コードには少し間違いがあり、フィールドは混ざっています。

問題を追跡するには、コードの周囲にprintステートメントを使用して、何が期待どおりに機能していないかを確認します。 pdbを使用することもできます。

1

あなたのヘッダー出力が文字化けしていると思います。 MSIEという文字列(User-Agentの値かもしれません)が見つかる数は明らかです。

関連する問題