2011-04-26 83 views
1

当我尝试从脚本中使用struct.pack时,我遇到了一些问题。一切都很好的解释:python 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 

我究竟做错了什么?我真的不明白这一点,如果有人能帮助我,我会很高兴。谢谢

回答

7

一切都很好。该角色不可打印。

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

在解释器中,它显示该字符的repr,它在您打印时正在解释它。所以你可以在你的脚本中做repr(p),如果你想和解释器有相同的结果。

+0

或者使用'%r'格式说明符。 – 2011-04-26 10:07:34

0

您实际上正在打印字符'\x02',这是不可见的。尝试打印它的代表。

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