import psutil
from contextlib import redirect_stdout
from time import sleep
with open("test.txt", "a") as file:
with redirect_stdout(file):
while True:
psutil.test() # Will print to file.
file.write("\n" * 10) # or print("\n" * 10)
sleep(5)
import contextlib
import time
import psutil
while True:
with open("test.txt", 'a') as fout, contextlib.redirect_stdout(fout):
psutil.test()
print("\n" * 10)
time.sleep(5)
psutil.test()
不返回字符串。它打印一个字符串。一种解决方法是使用contextlib.redirect_stdout
,这样字符串就不会STDOUT
进入文件。在请确保同时使用两个上下文管理器(} documentation 对文件和重定向使用单独的上下文管理器。在
with
语句),否则文件不会被刷新和关闭。^{psutil.test()
只打印到stdout
,但返回{您可以使用^{} 将标准输出(例如,当使用
print
)重定向到一个文件:相关问题 更多 >
编程相关推荐