В Python 2.x с «файловым» объектом:
sys.stdout.write(bytes_)
tempfile.TemporaryFile().write(bytes_)
open('filename', 'wb').write(bytes_)
StringIO().write(bytes_)
Как сделать то же самое в Python 3?
Как написать эквивалент этого кода Python 2.x:
def write(file_, bytes_):
file_.write(bytes_)
Примечание : sys.stdout
не всегда семантически является текстовым потоком. Иногда может быть полезно рассматривать его как поток байтов. Например, сделать зашифрованный архив каталога / на удаленной машине :
tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg'
В этом случае нет смысла использовать Unicode.