在 python 中重定向来自 robot.run 的机器人输出
redirect robot output from robot.run in python
我想获取 robot.run()
的输出并防止它打印到控制台。我已经尝试将 sys.stdout
重新分配给一个文件,但我仍然在控制台上得到输出。这是我使用的代码:
import robot
import sys
old = sys.stdout
sys.stdout = open('output.txt', 'w+')
robot.run('test.txt')
理想情况下,我想以字符串而不是文件的形式捕获输出,但我无法将其传输到控制台以外的任何地方。
引用 documentation:
To capture stdout and/or stderr streams, pass open file objects in as
special keyword arguments stdout
and stderr
, respectively.
例如:
with open('output.txt', 'w') as stdout_file:
robot.run('test.txt', stdout=stdout_file)
我想获取 robot.run()
的输出并防止它打印到控制台。我已经尝试将 sys.stdout
重新分配给一个文件,但我仍然在控制台上得到输出。这是我使用的代码:
import robot
import sys
old = sys.stdout
sys.stdout = open('output.txt', 'w+')
robot.run('test.txt')
理想情况下,我想以字符串而不是文件的形式捕获输出,但我无法将其传输到控制台以外的任何地方。
引用 documentation:
To capture stdout and/or stderr streams, pass open file objects in as special keyword arguments
stdout
andstderr
, respectively.
例如:
with open('output.txt', 'w') as stdout_file:
robot.run('test.txt', stdout=stdout_file)