如何使"int"解析空字符串?
- 论坛
- 如何使"int"解析空字符串?
27 浏览
如何使"int"解析空字符串?
我有一个基于布局表的固定长度文本记录解析系统:
parse_table = [\ ('name', type, length), .... ('numeric_field', int, 10), # 整数示例 ('textc_field', str, 100), # 字符串示例 ... ]
这个系统的思路是根据表中的条目,通过遍历字符串并重新构建字典来解析消息类型的表格。
现在,我可以处理字符串和正常的整数,但int()
无法解析全为空格的字段(当然有充分的理由)。
我想通过定义int
的子类来处理它,该子类可以处理空字符串。这样,我就可以更改表格条目的类型,而不需要在解析代码中引入额外的修补方法(比如过滤器),它会“自动工作”。
但是我无法弄清楚如何在子类中重写内置类型的构造函数,因为在子类中定义构造函数似乎没有帮助。我感觉我在理解Python内置类型的工作原理方面漏掉了一些基本的东西。
我该如何处理?我也接受不会增加太多复杂性的替代方案。