此代码在Windows和Linux之间打印不同的字符串.
test.py:
print(";".join([str(i) for i in range(10000)]))
Run Code Online (Sandbox Code Playgroud)
平台:x86_64 Linux 4.4.0-17763 - Microsoft
Python版本:3.7.2
终端:bash,fish
缩写输出:
$ python --version
Python 3.7.2
$ python test.py
0;1;2;3;4;5;6....9997;9998;9999
$ python -u test.py
0;1;2;3;4;5;6....9997;9998;9999
Run Code Online (Sandbox Code Playgroud)
平台:Windows 10 1809
Python版本:3.6.8,3.7.0,3.7.2
终端:cmd,powershell
缩写输出:
./python --version
Python 3.6.8
./python test.py
0;1;2;3;4;5;6....9997;9998;9999
./python -u test.py
0;1;2;3;4;5;6....2663;2664;2665;26
Run Code Online (Sandbox Code Playgroud)
./python --version
Python 3.7.0
./python test.py
0;1;2;3;4;5;6....9997;9998;9999
./python -u test.py
0;1;2;3;4;5;6....2663;2664;2665;26
Run Code Online (Sandbox Code Playgroud)
./python --version
Python 3.7.2
./python test.py
0;1;2;3;4;5;6....9997;9998;9999
./python -u test.py
0;1;2;3;4;5;6....2663;2664;2665;26
Run Code Online (Sandbox Code Playgroud)
那么为什么在Windows中,-uarg会导致输出被截断(仅仅是0为了2666)?
(当使用python -u test.py > …