在Python中使用bash命令时权限被拒绝

时间:2018-10-10 18:11:31

标签: python-3.x bash shell

我有一个看起来像这样的python脚本。

from subprocess import Popen, PIPE

process = Popen(['git log'], stdout=PIPE,stderr=PIPE)
stdout, stderr = process.communicate()

运行此脚本时,我收到“权限被拒绝”的消息。

1 个答案:

答案 0 :(得分:2)

没有名称为git log的命令;您需要带有参数git的命令log

根据切地,如果您使用的是Python 3.5或更高版本,则想升级到subprocess.run()

from subprocess import run, PIPE

result = run(['git', 'log'], stdout=PIPE, stderr=PIPE, text=True, check=True)
stdout = result.stdout
stderr = result.stderr