8

以下代码...

import sys

if sys.platform == "win32":
    import os, msvcrt
    msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)

sys.stdout.write("This is a sample line of text\n")

...导致 stdio 输出以0x0d.结尾0x0a。stdio 设置为二进制模式。为什么write()呼叫仍然\r\n代替\n

4

1 回答 1

1

如果你在 Cygwin 下运行它,sys.platform将会是'cygwin'而不是'win32',但你仍然会得到行尾转换。你确定setmode真的在运行吗?

于 2013-01-17T19:39:14.297 回答