如何在Python中读取RAR文件中的TXT文件每一行

1 投票
2 回答
1271 浏览
提问于 2025-04-17 14:54

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

h

e

l

l

o

p

y

t

h

o

n

我尝试直接读取txt文件的每一行,代码运行得很好。有没有人遇到过同样的问题?谢谢大家的帮助。

2 个回答

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

把这一行

for line in openf:

改成

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

撰写回答