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

1

У меня есть некоторые проблемы здесь, когда я пытаюсь использовать struct.pack из script. В интерпретаторе все в порядке:

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

Теперь, когда я делаю то же самое из script, у меня возникают проблемы:

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

Результат:

p is 

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

Теги:
struct

3 ответа

8

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

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

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

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

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

  • 0
    Или используйте спецификатор формата %r .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню