最近后台执行python程序时,输出到文件的日志总是和屏幕输出的不一致。几经周折,终于找到了原因和解决方法。
python myfun.py > myfun.log 2>&1 & #不推荐,文件日志和屏幕输出不一致
python -u myfun.py > myfun.log 2>&1 & #推荐,文件日志和屏幕输出一致
python -u表示不缓存,直接把输出重定向到文件。如果不使用-u,那么程序中的print和日志等,可能不会非常及时的重定向到日志文件,无法知道程序当前实际运行进度。