如何在Python中读取RAR文件中的TXT文件每一行
现在我有一个编程任务:要读取一个压缩在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"):