现在我有一个编程任务:读取在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文件中读取每一行,代码运行良好。有没有人面临同样的问题? 谢谢你的帮助
答案 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')