0

嘿,我正在尝试将交互式命令的输出打印到 python 脚本内的文件中,然后转到下一行。

我不确定如何实现这一目标。我努力了:

os.system("mnamer foo.mkv > mnamer.txt")

仅供参考,可以使用“mnamer”从脚本内部导入和调用 mnamer

上面的命令将我需要的信息记录在一个文件中,但我需要它通过提示符并读取下一行代码。

有没有一种python特定的方式来做到这一点?

4

1 回答 1

0

如果您可以将 mnamer 作为 python 模块导入,请这样做,以这种方式使用它,并通过将sys.stdoutsys.stderr 临时分配给文件来将其输出记录到文件中:

import mnamer
import sys

logfile = open("/path/to/log/file.txt", "w") # open the logfile
stdout, stderr = sys.stdout, sys.stderr # make copies of these to be able to restore them after the mnamer commands
sys.stdout = logfile # assign stdout to logfile, infos will be written there
sys.stderr = logfile # assign stderr to logfile, errors will be written there too
# put your mnamer commands here
mnamer.some_method_of_mnamer_module()
sys.stdout = stdout # restore stdout so that further infos will be printed to terminal again
sys.stderr = stderr # restore stderr so that further errors will be printed in terminal again
logfile.close() # close the logfile
于 2021-01-29T17:22:05.420 回答