如何使用gitPython模拟读取和更新git全局配置文件?

如何使用gitPython模拟读取和更新git全局配置文件?,python,git,git-config,gitpython,Python,Git,Git Config,Gitpython,我想使用git config--list来读取git全局配置文件,这样我就可以使用它来读取和更新全局配置文件了?可能正是您所需要的。这将为您提供~/.gitconfig类型的配置: globalconfig = git.GitConfigParser([os.path.normpath(os.path.expanduser("~/.gitconfig"))], read_only=True) 这与gitpython本身差不多,只是它还使用了“系统”和“repo”级别的配置(其中系统是“/et

我想使用
git config--list来读取git全局配置文件,这样我就可以使用它来读取和更新全局配置文件了?

可能正是您所需要的。

这将为您提供~/.gitconfig类型的配置:

 globalconfig = git.GitConfigParser([os.path.normpath(os.path.expanduser("~/.gitconfig"))], read_only=True)
这与gitpython本身差不多,只是它还使用了“系统”和“repo”级别的配置(其中系统是“/etc/gitconfig”),请参阅


自@unhammer在2014年发布他们的答案以来,gitpython的源代码中的git/base.py一直在发展。下面是一个如何使用Python 3和
GitPython
v3.1.11读取全局用户名的示例:

def git_user_name()->str:
从git进口回购
reader=Repo(path=None).config\u reader()
字段=读卡器。获取值(“用户”、“名称”)
返回场

这可以在任何目录下工作,不需要本地repo。

同样如此。
gitconfig
始终位于用户目录位置?我的意思是,如果它的位置对于不同的用户是不同的,该怎么办?“用户全局”(相对于“系统全局”)git配置文件可能在
~/.gitconfig
中,但是XDG现在建议它应该在
$XDG\u config\u HOME/git/config
中,并且
XDG\u config\u HOME
默认为
~/.config
。在此处插入关于XDG的标准抱怨。:-)此库包是空包,无法安装。
 def _get_config_path(self, config_level):
def config_reader(self, config_level=None):