python输出到文件里

傻乎乎写了各种print,挂到服务器上,用screen切窗口,一下子就给刷没了,所以想着重定向到文件里。

遇到几个“坑”,这里当做给自己记录:

1、我想要既能重定向到文件里,又能输出到屏幕上。使用了tee工具,但是没法反应。

原因是:Python 中如何一个 print 语句同时输出到屏幕且记录到文件里

python xxx.py有缓冲,要满 4k 才写入文件,加上python -u xxx.py就会变为无缓冲。

python -u xxx.py | tee -a xxx.log

另见Python命令行参数学习

2、我想要把标准输出和标准错误分开输出到两个文件里。

见:关于写标准错误输出到文件的问题

./example.sh > >(tee ./stdout.out) 2> >(tee ./error.out)
>(...)是创建一个带FIFO(一种进程间通信的方式)的子进程,让这个子进程接收前面的命令的输出。


你可能感兴趣的:(python输出到文件里)