【发布时间】:2021-05-17 10:39:27
【问题描述】:
有一些标准方法可以将程序的 putput 打印到像 this 这样的输出文件。有没有办法将print 函数用于不同的输出?我明白循环
with open('out.txt', 'w') as f:
with redirect_stdout(f):
print('data')
只有在我们进入with-“循环”后才会打印到 out.txt 文件。我怎样才能使用相同的sn-p来代替
for i in range(isteps):
# Do something with the program
with open('out.txt', 'w') as f:
with redirect_stdout(f):
print('data') # Writes in out.txt
print1('Status') # Writes on the screen
请注意,with 之外的 for 循环是进行一些计算的更大程序的一部分。我想打印文件中的数据但同时监视程序的状态(显示在屏幕上)。
【问题讨论】:
-
不要重定向
stdout,只需使用write等文件方法写入文件和print打印到屏幕/标准输出。另一种选择是使用print函数的file参数写入文件。 -
听起来你想要一个日志框架,也许吧? Logging HOWTO