我想在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程序转换结果。
我可以在二进制模式下重新打开stdout以避免\ n - > \ r \ n转换?
答案 0 :(得分:1)
可以通过传递python命令行参数来控制输出:-u。这会导致无缓冲输出,而会跳过LF - > CRLF转换。
也可以在爆炸线中指定:
#!/C/Python27/python -u