使用 python 获取命令行输出的更好方法?

A better way to get command line outputs with python?

我想从 python 中调用命令行,例如来自 python 内部的命令,例如:

import os
os.system("git log")

并且我想将此命令的输出作为字符串列表获取并在 python 中对其进行操作。我目前这样做的方式是,例如:

import os
os.system("git log > gitlog.txt")
text_file = open("gitlog.txt", "r")
lines = text_file.readlines()

我怀疑有更好的方法。我说得对吗?如果是的话,那是什么?

谢谢

是,使用subprocess模块:

from subprocess import PIPE, Popen

proc = Popen(['git', 'log'], stdout=PIPE)
lines = proc.stdout.readlines()