从python中的robot.run重定向机器人输出

时间:2015-11-02 14:58:09

标签: python robotframework

我想获取robot.run()的输出并阻止它打印到控制台。我尝试将sys.stdout重新分配给文件,但我仍然可以在控制台上输出。这是我使用过的代码:

import robot
import sys
old = sys.stdout
sys.stdout = open('output.txt', 'w+')
robot.run('test.txt')

理想情况下,我希望以字符串而不是文件来捕获输出,但我无法将其输出到控制台以外的任何位置。

1 个答案:

答案 0 :(得分:1)

引用documentation

  

要捕获stdout和/或stderr流,请在as中传递打开的文件对象       特殊关键字参数stdoutstderr

E.g:

with open('output.txt', 'w') as stdout_file:
    robot.run('test.txt', stdout=stdout_file)