2011-04-26 82 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,)