Python如何在读取二进制文件时删除“b”?

2024-05-23 13:19:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下简单文件:

This Was Actually Written In Binary

By Suraj Vijay

我有以下代码:

file = open("test.dat","rb")
lines=list()
for line in file.readlines():
        lines.append(line.rstrip())
file.close()
print(lines)
print("File Reading Done")

这是我得到的输出:

 [b'This Was Actually Written In Binary', b'By Suraj Vijay']
 File Reading Done

但我不希望每个字符串的开头都有“b”(即,我希望输出如下所示:

  ['This Was Actually Written In Binary', 'By Suraj Vijay']
  File Reading Done

Tags: inbylinethisfilelinesbinarywas
3条回答

您可以执行以下操作,只需解码“utf-8”中的行:

file = open("test.dat","rb")
lines=list()
for line in file.readlines():
        lines.append(line.rstrip().decode("utf-8"))
file.close()
print(lines)
print("File Reading Done")

得到b是因为您将它编码为utf-8,现在它是一个字节对象

print(type(line))
<class 'bytes'>

在读取bytes后添加.decode()以转换string

file = open("test.dat","rb")
lines=list()
for line in file.readlines():
        lines.append(line.rstrip().decode())
file.close()
print(lines)
print("File Reading Done")
file = open('test.dat',"rb")
lines=list()
for line in file.readlines():
        lines.append(line.decode('utf8').rstrip())
file.close()
print(lines)

enter image description here

相关问题 更多 >