python脚本输出结束时的百分号

时间:2016-03-28 20:50:51

标签: python command-line stdout

为什么在python脚本的输出结尾处有百分号?

$ echo" TEST TEST" |修剪
TESTTEST%

#!/usr/bin/env python
import sys

if __name__ == "__main__":
    for line in sys.stdin:
        sys.stdout.write(''.join(line.split()))

1 个答案:

答案 0 :(得分:3)

您看到的%实际上可能是您的shell提示符,而不是您的程序输出的一部分。你输出后没有写一个新行,所以shell提示出现在最后一个命令输出的最后。

可能的解决方案:

  1. 使用print代替sys.stdout.write
  2. 使用+ "\n"
  3. 在输出的末尾附加换行符
  4. 在程序结尾添加print()