如何在python中解码DAT文件?

时间:2018-03-16 20:26:53

标签: python read-write file-read

我试图从DAT文件中读取字节。我知道数据应该是二进制或十六进制。但是当我尝试读取字节时,它会打印出奇怪的符号。我假设它们是ascii值。我尝试转换它们,但我不断收到错误消息“' str'无法转换。有谁知道我怎么解码它? read()是用于此的正确函数吗?

import time
import binascii
import csv
import serial

with open('Example CARESCAPE Datalog.dat') as binary_file:
    for num in range(1,10):
        data = binary_file.readline()
        print(data)

Here is the link to a screenshot of the weird symbols I get

1 个答案:

答案 0 :(得分:1)

如果您的.dat文件不是文字,则应将其打开为包含'b'的二进制文件(每Python docs):

with open('Example CARESCAPE Datalog.dat', 'b') as binary_file:

你必须自己解码字节:

  

以二进制模式打开的文件(包括mode参数中的'b')将内容作为字节对象返回,而不进行任何解码。