gpt4 book ai didi

python - 如何在 Python 中正确解析 Git 命令 (`git log ...` )?

转载 作者:太空狗 更新时间:2023-10-29 14:31:14 24 4
gpt4 key购买 nike

使用 Python 脚本,我想获取上次对特定文件 /path/to/file.py 进行更改的人员的电子邮件。

听起来很简单,对吧?我只需要以某种方式解析以下内容

git log -n 1 --pretty=format:%ae -- /path/to/file.py

Package sh 是我的首选。不幸的是,在 Python 中

import sh
print(str(sh.git.log('-n 1 --pretty=format:%ae -- /path/to/file.py')))
print(str(sh.git.log('-n', '1', '--pretty=format:%ae', '--', /path/to/file.py')))

两者都打印 -(按 RETURN)。所以也许我在争论中搞砸了。

否则,str(sh.git.status()) 正确返回 On branch master ...,并且其他一些测试命令按预期工作。

如何解决?

最佳答案

- (press RETURN)输出听起来像是传呼机打印的东西。

请记住,每个 Git 命令可能(取决于选项、参数、配置设置和其他环境细节,例如 stdin 是否为 tty)通过寻呼机运行其输出。使用的寻呼机取决于您的个人配置。该寻呼机的行为取决于所使用的寻呼机和输入数据。

一个简单的解决方法是运行 git --no-pager <git-command>告诉 Git 不要使用寻呼机,即使配置和环境建议 Git 应该使用寻呼机。

关于python - 如何在 Python 中正确解析 Git 命令 (`git log ...` )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48682262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com