从python获取命令的终端输出

时间:2013-09-03 08:38:21

标签: 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_repositories_path)
print gitRep

输出 应为/home/gwapps/Desktop/GIT_REFERENCE_REPOSITORIES 但它给了我0

1 个答案:

答案 0 :(得分:1)

您正在获得退出状态。根据{{​​1}} docs

  

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

     

...

     

子进程模块为产卵提供了更强大的功能   新流程并检索其结果;使用该模块是   优于使用此功能。

因此,如果要检索命令的输出,请使用os.system()模块。这里有很多关于SO的例子,例如: