当前位置: 首页 > 面试题库 >

如何在Python中调用“ git pull”?

叶明辉
2023-03-14
问题内容

使用github webhooks,我希望能够将任何更改拉到远程开发服务器。此刻,在适当的目录中时,git pull需要进行任何更改。但是,我不知道如何在Python中调用该函数。我尝试了以下方法:

import subprocess
process = subprocess.Popen("git pull", stdout=subprocess.PIPE)
output = process.communicate()[0]

但这导致以下错误

追溯(最近一次呼叫最近): init errread,errwrite中的文件“
/usr/lib/python2.7/subprocess.py”中的文件“”,行679, )“ / usr / lib / python2”中的文件。
7 / subprocess.py“,行1249,在_execute_child中引发child_exception OSError:[Errno
2]没有这样的文件或目录

有没有一种方法可以在Python内部调用此bash命令?


问题答案:

您是否考虑过使用GitPython?它旨在为您处理所有这些废话。

import git

g = git.cmd.Git(git_dir)
g.pull()

https://github.com/gitpython-
developers/GitPython



 类似资料:
  • 使用github webhooks,我希望能够对远程开发服务器进行任何更改。此时,在适当的目录中,将获得需要进行的任何更改。但是,我不知道如何从Python内部调用那个函数。我尝试了以下方法: 有没有办法让我从Python中调用这个bash命令?

  • 问题内容: 在所有其他与super构造函数一起使用的语言中,都是隐式调用的。如何在Python中调用它?我希望这是行不通的。 问题答案: super()在新样式类中返回类似父对象的对象:

  • 问题内容: 我想知道是否可以使用jython从Java代码调用python函数,还是仅用于从python调用Java代码? 问题答案: Jython:适用于Java平台的 你可以使用Jython从Java代码轻松调用python函数。只要你的python代码本身在jython下运行,即不使用某些不受支持的c扩展名。 如果这对你有用,那肯定是你可以获得的最简单的解决方案。否则,你可以使用新的Java

  • 问题内容: 我有一个最近写的Python脚本,我使用命令行中的某些选项进行了调用。我现在想要一个非常薄的Web界面在Mac上本地调用此脚本。 我不想在Mac上安装mod_python或mod_wsgi时遇到麻烦,所以我只想从PHP执行system()或popen()来调用Python脚本。 还有更好的主意吗?提前致谢! 问题答案: 根据您在做什么,system()或popen()可能是完美的。如果

  • 我想用java中的参数调用python程序。但我的输出是空白的。代码在这里。 Python代码如下: java代码在这里: 我想输出30,有人能告诉我哪里出错了吗?

  • 问题内容: 基本上,在什么时候应该准确调用什么以及需要什么伴随的API调用方面似乎存在 巨大的 困惑/模糊性 。不幸的是,Python的官方文档非常模糊。关于这个话题,已经有很多关于stackoverflow的问题,因此,如果将其作为副本关闭,我不会感到特别惊讶。但是请考虑一下,这个问题似乎没有确定的答案。(可悲的是,我没有快速拨号上的Guido VanRossum。) 首先,让我们在这里定义问题