noi*_*oio 10 python linux bash shell command-line
我写了一个永远不会终止的短脚本.这个脚本不断生成输出,我不得不每次检查.我在实验室计算机上通过SSH运行它,并将输出重定向到该机器上的public_html文件夹中的文件.
python script.py > ~/public_html/results.txt
Run Code Online (Sandbox Code Playgroud)
但是,当我刷新地址时,结果不会立即显示.当我终止程序时,结果显示出来,但正如我所说,它不会自行停止.这个redirect(>
)是否与写作一样懒惰?有没有办法连续(或间隔)更新文件中的结果?
或者是网络服务器在仍在编写时不更新文件?
stdout是缓冲的,如果没有连接到终端.
您可以通过stdbuf将此策略更改为line-buffering
stdbuf -oL python script.py > ~/public_html/results.txt
Run Code Online (Sandbox Code Playgroud)
因此,如果不需要行缓冲,则不必刷新Python脚本并保持IO效率.