我试图从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)
答案 0 :(得分:1)
如果您的.dat
文件不是文字,则应将其打开为包含'b'
的二进制文件(每Python docs):
with open('Example CARESCAPE Datalog.dat', 'b') as binary_file:
你必须自己解码字节:
以二进制模式打开的文件(包括mode参数中的'b')将内容作为字节对象返回,而不进行任何解码。