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

时间:2015-01-27 00:10:30

标签: python command-line

我想从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()

我怀疑有更好的方法。我是对的,如果是的话,它是什么?

感谢

1 个答案:

答案 0 :(得分:3)

是的,使用subprocess模块:

from subprocess import PIPE, Popen

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