Python struct.pack() 在脚本中不起作用

1 投票
3 回答
1070 浏览
提问于 2025-04-16 16:25

我在用脚本调用struct.pack的时候遇到了一些问题。在解释器里一切都很好:

>>> import struct  
>>> k=2  
>>> struct.pack(">b", k)  
'\x02'  

但是当我在脚本中做同样的事情时,就出现了问题:

k=2  
p =  struct.pack(">b", k)  
print "p is %s"%(p,)  
return p

结果:

p is 

我到底哪里做错了呢?我真的不太明白这个问题,如果有人能帮我就太好了。谢谢!

3 个回答

0

你实际上是在打印一个字符 '\x02',这个字符是看不见的。试着打印它的表示形式吧。

print "p is %r"%(p,)
0

在解释器中,它显示的是那个字符的 repr(表示形式),而当你使用打印功能时,它会对这个字符进行解释。所以如果你想在你的脚本中得到和解释器一样的结果,可以直接使用 repr(p)

8

一切都很好。这个字符是不可打印的。

print "p is %r" % (p,)

撰写回答