У меня есть некоторые проблемы здесь, когда я пытаюсь использовать 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
что я делаю неправильно? Я действительно не понимаю этого и буду рад, если кто-нибудь сможет мне помочь. Благодаря
Все в порядке. Символ непечатаем.
print "p is %r" % (p,)
Фактически вы печатаете символ '\x02
', который не отображается. Попробуйте вместо этого напечатать это представление.
print "p is %r"%(p,)
В интерпретаторе он отображает repr
этого char и интерпретирует его при печати. Таким образом, вы можете просто сделать repr(p)
в своем script, если хотите получить тот же результат, что и интерпретатор.
%r
.