Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解压不完整的结构_Python_Struct - Fatal编程技术网

Python 如何解压不完整的结构

Python 如何解压不完整的结构,python,struct,Python,Struct,使文件格式可扩展的一种常见方法是,将文件中包含的记录的大小包括在内,以便将来可以向记录中添加更多字段 现在假设该字段已经更新,并且我们有一个pythonstruct格式用于新的记录布局,但这意味着该格式不能用于解包旧格式的记录,因为记录太小 我想要的是struct.unpack解包它可以解包的字段(而不会耗尽数据),而不是抛出异常 有没有一个简单的方法来完成这件事?或者,对于以前版本的记录布局,是否需要使用结构格式?似乎没有任何向后兼容性 这意味着,如果出现异常,您需要回退到: 使用旧的str

使文件格式可扩展的一种常见方法是,将文件中包含的记录的大小包括在内,以便将来可以向记录中添加更多字段

现在假设该字段已经更新,并且我们有一个python
struct
格式用于新的记录布局,但这意味着该格式不能用于解包旧格式的记录,因为记录太小

我想要的是
struct.unpack
解包它可以解包的字段(而不会耗尽数据),而不是抛出异常


有没有一个简单的方法来完成这件事?或者,对于以前版本的记录布局,是否需要使用结构格式?

似乎没有任何向后兼容性

这意味着,如果出现异常,您需要回退到:

  • 使用旧的
    struct
  • 将旧结构编组为新结构

struct格式与文件的实际格式密切相关,因此,是的,对文件格式的此类更改与解析它们的代码向后不兼容。