如果二进制 blob 中的下一位数据不存在,则中断 Python 代码



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

        while index < argCount:
            data = f.read(4)
            logData = logData + struct.unpack('i', data)
            index = index + 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'

最新更新