首页 >后端开发 >Python教程 >如何在 Python 中使用'subprocess”从命令行程序检索实时输出?

如何在 Python 中使用'subprocess”从命令行程序检索实时输出?

Barbara Streisand
Barbara Streisand原创
2024-11-14 21:17:02983浏览

How can I Retrieve Realtime Output from a Command-line Program Using `subprocess` in Python?

使用子进程检索实时输出

要使用子进程从命令行程序获取实时输出,p.可以使用 stdout.readline() 方法。此方法在缓冲行为方面与 p.stdout 不同。 p.stdout 积极缓冲输出,p.stdout.readline() 在每一行可用时读取它。

以下 Python 代码演示了 p.stdout.readline():

from subprocess import Popen, PIPE, STDOUT

p = Popen('svnadmin verify /var/svn/repos/config', stdout=PIPE, stderr=STDOUT, shell=True)
while True:
    line = p.stdout.readline()
    if not line:
        break
    print(line.replace('\n', ''))

此代码读取 svnadmin verify 命令的每一行输出并实时打印。

以上是如何在 Python 中使用'subprocess”从命令行程序检索实时输出?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn