Python unp

2024-10-02 14:19:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python解包有问题。在

self.value = struct.unpack("<I", f.read(4))[0]

对于值:0x17df32025031456)返回错误

^{pr2}$

但是对于值0x116fb0018283264)是可以的。价值一太大了?把“我”改成“L”?在


我仍然对此有问题;/我的输出:http://pasteboard.s3.amazonaws.com/images/TjwtuTq.png代码:

def deserialize(self, f):
        buf = f.read(8)
        log.error("\n#####################\nCTxOut f: %s \nf8: %s\nf8l: %i\n#####################" % (f.getvalue(), buf, len(buf)))
        self.nValue = struct.unpack("<q", buf)[0]
        self.scriptPubKey = deser_string(f)

错误:

[Failure instance: Traceback: : unpack requires a string argument of length 8

谢谢你的帮助!在


Tags: selfcomhttpreadstrings3value错误
1条回答
网友
1楼 · 发布于 2024-10-02 14:19:10

问题是-正如错误所说-您没有将长度为4的字符串传递给unpack。在

f.read(4)

不一定返回4个字节,它可能返回0到4个字节之间的任何值,这取决于缓冲区中有多少字节可用,或者流是否在EOF处—我猜就是这种情况。在

尝试检查传递给函数的字节数:

^{pr2}$

相关问题 更多 >