Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python清除标准输出_Python_Stdout - Fatal编程技术网

Python清除标准输出

Python清除标准输出,python,stdout,Python,Stdout,我有一些网络服务器。它将日志写入已重定向到文件的sys.stdout。我需要在文件增长时定期清除它。我可以只使用sys.stdout吗?如果要刷新stdout,只需在代码中添加这一行即可 sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0) 如果要刷新标准输出,只需在代码中添加这一行即可 sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0) 您可以做的是删除日志文件: rm logfile

我有一些网络服务器。它将日志写入已重定向到文件的sys.stdout。我需要在文件增长时定期清除它。我可以只使用sys.stdout
吗?

如果要刷新stdout,只需在代码中添加这一行即可

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

如果要刷新标准输出,只需在代码中添加这一行即可

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

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

rm logfile
或将其截断:

echo -n > logfile
Web服务器仍将使用open filedescriptor,该文件仍将位于磁盘上,但该文件名无法再访问该文件。一旦服务器重新启动(使用相同的重定向),日志文件将从头开始创建


另一个选项是对日志使用logrotate,这允许您更改正在写入的日志文件。

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

rm logfile
或将其截断:

echo -n > logfile
Web服务器仍将使用open filedescriptor,该文件仍将位于磁盘上,但该文件名无法再访问该文件。一旦服务器重新启动(使用相同的重定向),日志文件将从头开始创建


另一个选项是对日志使用logrotate,这允许您更改正在写入的日志文件。

否。Stdout是一个输出流。写作是你唯一能做的事情。Stdout是一个输出流。写是你能对它做的唯一事情。我认为它会因为并发访问
stdout
而导致问题。我认为它会因为并发访问
stdout
而导致问题。