从python获取命令的终端输出

从python获取命令的终端输出,python,shell,terminal,Python,Shell,Terminal,我试图编写一个包含bash命令的函数。我想将命令的输出分配给python中的变量 我的意思是,gitCheck函数找到我的git存储库的目录并将其分配给gitRep,但它只给我0。有人知道我怎么做吗?提前谢谢 def gitCheck(): reference_repositories_path="cat $HOME/.git_reference_repositories | sed 's/GIT_REFERENCES_PATH=//'" gitRep=os.system(reference_r

我试图编写一个包含bash命令的函数。我想将命令的输出分配给python中的变量 我的意思是,gitCheck函数找到我的git存储库的目录并将其分配给gitRep,但它只给我0。有人知道我怎么做吗?提前谢谢

def gitCheck():
reference_repositories_path="cat $HOME/.git_reference_repositories | sed 's/GIT_REFERENCES_PATH=//'"
gitRep=os.system(reference_repositories_path)
print gitRep
输出 应该是
/home/gwapps/Desktop/GIT\u REFERENCE\u存储库

但是它给了我一个退出状态。根据
os.system()

在Unix上,返回值是中编码的进程的退出状态 为wait()指定的格式

子流程模块为繁殖提供了更强大的工具 新流程和检索其结果;使用该模块是非常困难的 比使用此函数更好

因此,如果要检索命令的输出,请使用
subprocess
模块。这里有很多这样的例子,例如:


您将获得退出状态。根据
os.system()

在Unix上,返回值是中编码的进程的退出状态 为wait()指定的格式

子流程模块为繁殖提供了更强大的工具 新流程和检索其结果;使用该模块是非常困难的 比使用此函数更好

因此,如果要检索命令的输出,请使用
subprocess
模块。这里有很多这样的例子,例如: