1

ここで、プログラムするタスクがあります。rar ファイルに圧縮された txt ファイルの各行を読み取ります (rar ファイルを抽出するのではなく、直接読み取ります)。しかし、私は異常な問題を見ます:

txt ファイルの各行を印刷すると、各行の文字だけが表示されます。コードは次のとおりです。

import rarfile
rf = rarfile.RarFile('C:\\Users\\THELN\\Downloads\\theln.rar')
for f in rf.infolist():
    print f.filename, f.file_size
    #if f.filename == 'theln.txt':
    openf=rf.read(f)
    for line in openf:
        print line

これが行の結果です(こんにちはpython):

時間

e

l

l

o

p

y

t

時間

o

n

各行をtxtファイルで直接読み取ろうとしましたが、コードはうまく機能します。同じ問題に直面している人はいますか?ご協力ありがとうございました

4

2 に答える 2

5

行を変更する

for line in openf:

for line in openf.split("\n"):
于 2013-02-06T02:54:16.123 に答える
1

コードを少し調整するだけで、そこにたどり着くことができます。

次のスニペットを見てください.... rarfile.RarFile クラス オブジェクトを使用して読み取りを行わないでください。ファイル名を使用する

import rarfile
rf = rarfile.RarFile('C:\\Users\\THELN\\Downloads\\theln.rar')
for f in rf.infolist():
    print f.filename, f.file_size
    openf=rf.open(f.filename)
    for line in openf:
        print line.replace('\n')
于 2013-02-06T02:58:35.123 に答える