我在这里看到过这个问题,但给出的答案在我的情况下不起作用,并且被标记为重复。
python -u不适用于stdinPython 3。sys.stdin = sys.stdin.detach()抛出一个ValueError: underlying buffer has been detached.- 这些都不适用于非
stdin输入和其他用作流的文件。 - 添加钩子不起作用:
FileInput(openhook=hook_nobuf)并open(buffering=0)在钩子中使用。
我挖掘了源代码 ( /usr/lib/python3.2/fileinput.py) 并看到它readlines(bufsize)在内部用于加载缓冲区。没有外壳或其他管道恶作剧。