【问题标题】:Exit interactive prompt inside script and move to next line退出脚本内的交互式提示并移至下一行
【发布时间】:2021-01-29 17:01:16
【问题描述】:

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

我不确定如何实现这一点。我试过了:

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

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

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

有没有特定于 python 的方法?

【问题讨论】:

    标签: python-3.x interactive-shell


    【解决方案1】:

    如果您可以将 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
    

    【讨论】:

      猜你喜欢
      • 2017-11-29
      • 1970-01-01
      • 2013-12-06
      • 1970-01-01
      • 2020-09-20
      • 1970-01-01
      • 2019-08-05
      • 2010-10-03
      相关资源
      最近更新 更多