问题
Why is a percent sign at the end of the output of the python script?
$ echo "TEST TEST" | trim
TESTTEST%   
#!/usr/bin/env python
import sys
if __name__ == "__main__":
    for line in sys.stdin:
        sys.stdout.write(''.join(line.split()))
回答1:
The % you see there might actually be your shell prompt, and not part of your program output. You're not writing a new line after your output, so the shell prompt appears at the very end of the output of the last command.
Possible solutions:
- Use printinstead ofsys.stdout.write
- Append a newline to the end of the output with + "\n"
- Add a print()to the end of your program
来源:https://stackoverflow.com/questions/36270945/percent-sign-at-the-end-of-the-output-of-python-script