Python';s sys.stdout.buffer.write()在Linux上添加额外的0x0d
考虑以下代码:Python';s sys.stdout.buffer.write()在Linux上添加额外的0x0d,python,console,escaping,newline,Python,Console,Escaping,Newline,考虑以下代码: docker run -it --rm python:3.7.1-alpine3.8 \ python -c "import sys; sys.stdout.buffer.write( b'\x0a' )" | hexdump 其中打印: 0000000 0d 0a 0000002 由于sys.stdout.buffer是一个二进制流,平台是Linux(即,不是Windows)(请参阅
docker run -it --rm python:3.7.1-alpine3.8 \
python -c "import sys; sys.stdout.buffer.write( b'\x0a' )" | hexdump
其中打印:
0000000 0d 0a
0000002
由于sys.stdout.buffer
是一个二进制流,平台是Linux
(即,不是Windows
)(请参阅),因此我希望输出是纯0x0a
在我看来,\n
->\r\n
翻译实际上正在进行。
如何禁用它?事实证明,这确实是一个docker问题。请看。我无法在Ubuntu(或Mac Osx)上复制这一点,也无法复制……可能是docker的一些东西。