Python struct.pack() 在脚本中不起作用
我在用脚本调用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,)