0

私は問題を抱えています、私は皆の助けが必要です。私はrarファイル(100mb)を読み、テキストファイル(rarfileに含まれています)を処理します。

import glob
import os
import UnRAR2
from os import path, access, R_OK
os.chdir("E:\\sms")
for file in glob.glob("*.rar"):
# extract test.txt to memory
    entries = UnRAR2.RarFile(file).read_files('*.txt')
    test_content = entries[0][1]
    #print test_content
    for line in test_content.split("\n"):
        A=line.split(' ')
        print A[1]

結果:

19009057

7030

9119

9119

....

....

bla...bla...

......

9119

9119

9119

7050

9119

Traceback (most recent call last):
  File "E:\LAPTRINH\Android\adt-bundle-windows\eclipse\plugins\org.python.pydev_2.7.1.2012100913\pysrc\pydevd.py", line 1397, in <module>
    debugger.run(setup['file'], None, None)
  File "E:\LAPTRINH\Android\adt-bundle-windows\eclipse\plugins\org.python.pydev_2.7.1.2012100913\pysrc\pydevd.py", line 1090, in run
    pydev_imports.execfile(file, globals, locals) #execute the script
  File "C:\Users\The\Documents\workspace\unrar\test_unrar.py", line 13, in <module>
    print A[1]

IndexError: list index out of range

私を助けてください!ありがとうございました!!!

4

3 に答える 3

0

あなたの行の1つ(おそらくあなたの最後)はあなたが期待するフォーマットではありません。これを内側のforループで実行します。

A=line.split(' ')
if len(A) > 1:
    print A[1]
于 2013-02-21T02:38:02.533 に答える
0

A[1]ファイルの最後の行が。だった場合は疑わしいでしょう\n。情報を取り戻す方法を再考する必要があります。

于 2013-02-21T02:38:13.517 に答える
0

lineエラーは、分割のコンテンツにA2番目の項目がないことを示しています。つまり、解析するものが残っておらず、ファイルの最後にいます。

于 2013-02-21T02:38:44.343 に答える