Python 2.7 在二进制模式下重新打开标准输出?

Python 2.7 在二进制模式下重新打开标准输出?,python-2.7,Python 2.7,我想在Windows主机上运行python脚本。脚本生成的数据应该通过管道传输到另一个进程。此进程需要Unix样式的行尾。如何控制脚本的输出结尾 脚本摘录: print "blob" print "mark: %d" & mark print "data %d" % os.path.getsize(localPath) with open(localPath, "rb") as f: print f.read() 这将产生: "blob\nmark: 0\n"

我想在Windows主机上运行python脚本。脚本生成的数据应该通过管道传输到另一个进程。此进程需要Unix样式的行尾。如何控制脚本的输出结尾

脚本摘录:

print "blob"
print "mark: %d" & mark
print "data %d" % os.path.getsize(localPath)
    with open(localPath, "rb") as f:
        print f.read()
这将产生:

"blob\nmark: 0\n"
该脚本生成文本和二进制输出。因此,以后不能使用dos2unix程序转换结果


我是否可以在二进制模式下重新打开标准输出以避免\n->\r\n转换

可以通过传递python命令行参数来控制输出:-u。这会导致无缓冲输出并跳过LF->CRLF转换

也可以在bang行中指定:

#!/C/Python27/python -u