为了账号安全,请及时绑定邮箱和手机立即绑定

逐行读取原始二进制文件,将其转换为 ascii,并以相同的方式以.txt格式存储

逐行读取原始二进制文件,将其转换为 ascii,并以相同的方式以.txt格式存储

慕的地6264312 2022-08-16 19:00:48
我能够逐行读取原始二进制数据,但无法将其逐行存储到.txt文件中。有人可以帮我吗?这是我的代码:with open("aa.dwr", "rb") as file:  data = file.readline()  datastring = str(data)  while data:    with open("out1.txt", "w") as f:      f.write(' '.join(map(str,data)))      f.write("\r\n")    print("line {}: {}".format(cnt, map(str,datastring.strip())))    data = file.readline()    cnt +=1
查看完整描述

2 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

with open("out1.txt", "w") as f:

    while data:

        f.write(' '.join(map(str,data)))

        f.write("\r\n")

        print("line {}: {}".format(cnt, map(str,datastring.strip())))

        data = file.readline()

        cnt +=1

请像这样尝试...


或者你可以试试


while data:

    with open("out1.txt", "a") as f:

        f.write(' '.join(map(str,data)))

        f.write("\r\n")

    print("line {}: {}".format(cnt, map(str,datastring.strip())))

    data = file.readline()

    cnt +=1


查看完整回答
反对 回复 2022-08-16
?
达令说

TA贡献1821条经验 获得超6个赞

如果您的原始数据是字符串编码为二进制文件,那么您可以读取二进制文件,然后将其解码为字符串。然后逐行拆分字符串并将其写入文件。

仅当要将文本逐行拆分为字符串时,这才适用。如果你想像@Selcuk提到的那样逐行拆分二进制,这意味着什么?


with open("file.b", "rb") as f:

     data = f.read()

     data = data.decode()

     lines = data.splitlines()


     with open("out.txt", "w") as f2:

         for line in lines:

             f2.write(line + "\n")


查看完整回答
反对 回复 2022-08-16
  • 2 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信