Python 如果二进制blob中的下一位数据不';不存在

Python 如果二进制blob中的下一位数据不';不存在,python,Python,简单地说,我的程序的一部分是读入一系列二进制数据,我将这些数据解包,以便外部字典进行比较。我有一个二进制blob作为一个要读取的文件传入。这个小片段如下所示: while index < argCount: data = f.read(4) logData = logData + struct.unpack('i', data) index = index + 1 索引

简单地说,我的程序的一部分是读入一系列二进制数据,我将这些数据解包,以便外部字典进行比较。我有一个二进制blob作为一个要读取的文件传入。这个小片段如下所示:

        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:#或您在那里遇到的任何其他错误 打印“位错误,正在退出”