我想获取robot.run()
的输出并阻止它打印到控制台。我尝试将sys.stdout
重新分配给文件,但我仍然可以在控制台上输出。这是我使用过的代码:
import robot
import sys
old = sys.stdout
sys.stdout = open('output.txt', 'w+')
robot.run('test.txt')
理想情况下,我希望以字符串而不是文件来捕获输出,但我无法将其输出到控制台以外的任何位置。
答案 0 :(得分:1)
要捕获stdout和/或stderr流,请在as中传递打开的文件对象 特殊关键字参数
stdout
和stderr
。
E.g:
with open('output.txt', 'w') as stdout_file:
robot.run('test.txt', stdout=stdout_file)