退出脚本内的交互式提示并移至下一行
Exit interactive prompt inside script and move to next line
嘿,我正在尝试将交互式命令的输出打印到 python 脚本中的文件,然后转到下一行。
我不确定如何实现。我试过:
os.system("mnamer foo.mkv > mnamer.txt")
仅供参考,可以使用“mnamer”从脚本内部导入和调用 mnamer
以上命令将我需要的信息记录在一个文件中,但我需要它通过提示并阅读下一行代码。
是否有python具体的方法?
如果您可以将 mnamer 作为 python 模块导入,请这样做,以这种方式使用它,并通过临时将 sys.stdout
和 sys.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
嘿,我正在尝试将交互式命令的输出打印到 python 脚本中的文件,然后转到下一行。
我不确定如何实现。我试过:
os.system("mnamer foo.mkv > mnamer.txt")
仅供参考,可以使用“mnamer”从脚本内部导入和调用 mnamer
以上命令将我需要的信息记录在一个文件中,但我需要它通过提示并阅读下一行代码。
是否有python具体的方法?
如果您可以将 mnamer 作为 python 模块导入,请这样做,以这种方式使用它,并通过临时将 sys.stdout
和 sys.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