1

我试图编写一个包含 bash 命令的函数。我想将命令的输出分配给我的 python 中的变量我的意思是,函数 gitCheck 找到我的 git Repository 的目录并将其分配给 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

4

1 回答 1

1

您正在获得退出状态。根据os.system() 文档

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

...

subprocess 模块提供了更强大的工具来生成新进程并检索它们的结果;使用该模块优于使用此功能。

因此,如果要检索命令的输出,请使用subprocessmodule. 这里有很多关于 SO 的例子,例如:

于 2013-09-03T08:42:23.510 回答