Python 如果二进制blob中的下一位数据不';不存在
简单地说,我的程序的一部分是读入一系列二进制数据,我将这些数据解包,以便外部字典进行比较。我有一个二进制blob作为一个要读取的文件传入。这个小片段如下所示:Python 如果二进制blob中的下一位数据不';不存在,python,Python,简单地说,我的程序的一部分是读入一系列二进制数据,我将这些数据解包,以便外部字典进行比较。我有一个二进制blob作为一个要读取的文件传入。这个小片段如下所示: while index < argCount: data = f.read(4) logData = logData + struct.unpack('i', data) index = index + 1 索引
while index < argCount:
data = f.read(4)
logData = logData + struct.unpack('i', data)
index = index + 1
索引
数据=f.read(4)
logData=logData+struct.unpack('i',data)
索引=索引+1
但是,如果没有剩下32位的数据,比如只剩下3位的数据(即,程序中检索到一个不正确的blob),那么我如何告诉用户“位错误,正在退出”?尝试异常处理:
while index < argCount:
try:
data = f.read(4)
logData = logData + struct.unpack('i', data)
index = index + 1
except IOError: #or any other error you get there
print 'bit error, exiting'
索引
尝试:
数据=f.read(4)
logData=logData+struct.unpack('i',data)
索引=索引+1
除了IOError:#或您在那里遇到的任何其他错误
打印“位错误,正在退出”