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