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

我能够逐行读取原始二进制数据,但无法将其逐行存储到.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


慕的地6264312
浏览 114回答 2
2回答

呼唤远方

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

达令说

如果您的原始数据是字符串编码为二进制文件,那么您可以读取二进制文件,然后将其解码为字符串。然后逐行拆分字符串并将其写入文件。仅当要将文本逐行拆分为字符串时,这才适用。如果你想像@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")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python