Python清除标准输出

时间:2015-11-17 06:23:21

标签: python stdout

我有某种网络服务器。它将日志写入sys.stdout,并将其重定向到文件。随着它的增长,我需要定期清除这个文件。我可以仅使用sys.stdout吗?

2 个答案:

答案 0 :(得分:0)

如果你想刷新标准输出,只需在你的代码中添加这一行。

sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)

答案 1 :(得分:0)

您可以做的是删除日志文件:

rm logfile

或截断它:

echo -n > logfile

网络服务器仍然会使用打开的文件描述符,文件仍然在磁盘上,但不再可以通过该文件名访问。一旦服务器重新启动(使用相同的重定向),将从头开始创建日志文件。

另一种选择是使用logrotate作为日志,这允许您更改要写入的日志文件。