如何读取python中rar文件中的txt文件中的每一行

时间:2013-02-06 02:42:03

标签: python

现在我有一个编程任务:读取在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

这是一行(hello python)的结果:

ħ

ë

1

1

0

P

ý

ħ

0

n

我试图直接在txt文件中读取每一行,代码运行良好。有没有人面临同样的问题? 谢谢你的帮助

2 个答案:

答案 0 :(得分:5)

更改行

for line in openf:

for line in openf.split("\n"):

答案 1 :(得分:1)

您的代码中的微小调整可以帮助您。

查看以下代码段....不要使用rar file.Rar File类对象来读取。使用文件名

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')