【问题标题】:Python - execute a bash command, print and save the output in the same time [duplicate]Python - 执行bash命令,同时打印并保存输出[重复]
【发布时间】:2014-10-04 09:36:52
【问题描述】:

在 Python 中,我想执行一个 bash 命令(可能使用 subprocess.Popen()),我想打印输出,同时将输出保存在变量或文件中。 此命令返回大量文本,运行需要几个小时。

如果我将输出重定向到一个文件,我可以立即打印该文件中出现的每一行吗?

【问题讨论】:

标签: python bash subprocess


【解决方案1】:

如果您想在 Python 中完成这一切,无需 tee 命令,您可以。基本上你需要设置stdout=PIPE(参见子流程文档),然后在上面使用select(),以便在有大量数据要读取时收到通知。当有可用数据时,读取数据并将其写入文件并同时打印。您可以为此目的调整的类似问题的解决方案在这里:https://stackoverflow.com/a/12272262/4323

【讨论】:

    猜你喜欢
    • 2018-01-16
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 2012-01-09
    相关资源
    最近更新 更多