在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是没有意义的。
isinstance(file_, io.TextIOWrapper)
等。 - jfsos.write(sys.stdout.fileno(), bytes_)
。 - jfsopen('filename', 'wb').write(bytes_)
时,出现错误NameError: name 'bytes_' is not defined
。 - timekeeperbytes_
是你的数据,例如bytes_ = b'\x89PNG\r\n\x1a\n'
。 - jfs