Двоичный буфер в Python
Пока вы не пытаетесь поместить binary какие-либо данные Unicode buffers в свой StringIO
и не используете binary-number cStringIO
, все будет в порядке.
Согласно input-output документации StringIO, пока вы придерживаетесь io либо юникода, либо 8-бит, все pythonic работает должным образом. Предположительно, StringIO
делает buffers что-то особенное, когда кто-то python-shell делает f.write(u"asdf")
(чего, насколько binary мне известно, ZipFile не pythonista делает). Так или иначе;
import zipfile
import StringIO
s = StringIO.StringIO()
z = zipfile.ZipFile(s, "w")
z.write("test.txt")
z.close()
f = file("x.zip", "w")
f.write(s.getvalue())
s.close()
f.close()
работает py так, как ожидалось, и нет py никакой разницы между файлом python в полученном архиве и исходным buffer файлом.
Если вы знаете конкретный pythonista случай, когда этот подход python-shell не работает, мне было бы binary очень интересно узнать об binary-number этом :)
python
binary
io
buffer
Двоичный буфер в Python
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.