我们产品有很多状态信息都持久化到文件中,从而数据库意外中断后重启还能知道之前的状态信息。文件中数据是按c struct直接灌进去的,所以我想写个通用类用来漂亮的显示文件内容。
大概如此这般展示:
STAT_FILEHD size: 0x258
+0 version=64
+4 filetype=b'\x07'
+5 cfgflags=b'\x00'
+6 num=2
+0 name=b'g0'
+128 acct=b'TESTACCT'
先用免费的ChatGPT3.5把需求描述个大概
你能否编写一个继承自ctypes.Structure的Python类,命名为PrettyPrintableStruct,以便我可以写一个新类, 比如叫Person,它继承自PrettyPrintableStruct从而轻松打印?以下是要求:1. 一个字段打印一行,前缀为十六进制的偏移量,后缀为值,字段名称位于中间。
2. 如果字段是ctypes.Structure的子类,则再次执行第1步,缩进一个制表符。
import ctypes
class PrettyPrintableStruct(ctypes.Structure):
def print_fields(self, prefix="", indent="