从Python中获取命令的终端输出

19 浏览
0 Comments

从Python中获取命令的终端输出

我试着写一个包括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

admin 更改状态以发布 2023年5月21日
0
0 Comments

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

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

...

子进程模块提供了更强大的功能,用于生成新进程并检索其结果;使用该模块比使用此功能更可取。

因此,如果您想检索命令的输出,请使用 subprocess 模块。这里有大量的示例,例如:

0