我正在尝试将控制台中打印的任何内容记录到文件中(它应该同时在控制台和文件中打印)。我正在使用命令,即将输出记录到文件中,但是我面临两个问题:1。不在控制台上打印输出,而是直接打印到文件。2.如果我正在使用sleep命令,则该命令将无法正常工作。任何人都可以通过python代码帮助我。这是我的代码
import time
sys.stdout = open("for_posterity.txt", "a")
def main():
while True:
fun1()
fun2()
def fun1():
time.sleep(1)
print("inside fun 1")
def fun2():
time.sleep(1)
print("inside fun 2")
if __name__ == '__main__':
main()
更改sys.stdout时,您失去了写入控制台的功能。此代码完全按照您的指示执行。如果我查看for_posterity.txt,它说
内部乐趣1
内部乐趣2
内部乐趣1
内部乐趣2
...
如果您想同时使用这两种功能的日志记录功能,则实际上必须同时进行。
def output(message):
with open("for_posterity.txt", "a") as logfile:
print (message)
logfile.write(message + "\n")
def fun1():
time.sleep(1)
output("inside fun 1")
def fun2():
time.sleep(1)
output("inside fun 2")
但是,当您变得更高级时,将需要使用日志记录模块,可以将其配置为写入所需的任意数量的地方,它可以根据发生的情况进行决定。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句