Python struct.pack() не работает в скрипте

#python #struct

#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 
  

что я делаю не так? Я действительно этого не понимаю и был бы рад, если бы кто-нибудь мог мне помочь. Спасибо

Ответ №1:

Все в порядке. Символ не выводится.

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

Ответ №2:

В интерпретаторе он отображает repr этого символа и интерпретирует его, когда вы выполняете печать. Так что вы можете просто сделать repr(p) в своем скрипте, если хотите получить тот же результат, что и интерпретатор.

Ответ №3:

На самом деле вы печатаете символ 'x02 ‘, который не виден. Попробуйте вместо этого распечатать его представление.

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