Chr*_*oph 80 python api github
我正在寻找适合我的Github APIv3的python库.
我在GH API文档中找到了一个库(python-github3).在ipython中玩了一两个小时之后,我发现探索/使用它真的不直观.我看了一下,发现有很多人至少试图写这样的图书馆.看起来更有希望(一目了然)是PyGithub和另一个python-github3,它显然与第一个不同.
在我连续几天在图书馆之后尝试图书馆之前,我想向SO社区询问该图书馆是否有一个公认的,明确的,明显的选择?
我不喜欢第一个库的是(对我来说)不直观的获取数据的方法 - 你得到的一些属性,一些你得到的方法的返回值,返回值是一些复杂的对象,必须被分页和迭代等等
在这方面,PyGithub乍一看看起来更具吸引力 - 明确地向下钻取对象层次结构,然后到达包含你想要的属性:
for repo in g.get_user().get_repos():
print repo.name
那么,任何珍珠的智慧分享?我知道我没有足够的技能来快速判断图书馆的质量,这就是我转向SO社区的原因.
编辑:fwiw,我最终使用了PyGithub.它运作良好,作者非常愿意接受反馈和错误报告.:-)
Lyc*_*cha 73
既然你提到你是一个初学的python程序员,我建议你先尝试使用没有任何Github库的JSON API.它确实不是那么困难,它会在你的编程生涯中为你提供很多帮助,因为同样的方法可以应用于任何JSON API.特别是如果看起来尝试图书馆需要几天时间.
我并不是说某些库不容易使用,我只是说从长远来看,直接使用API的额外努力可能是值得的.至少它会帮助你理解为什么这些库看起来"不直观"(如你所说).
获取django存储库创建时间的简单示例:
import requests
import json
r = requests.get('https://api.github.com/repos/django/django')
if(r.ok):
repoItem = json.loads(r.text or r.content)
print "Django repository created: " + repoItem['created_at']
Run Code Online (Sandbox Code Playgroud)
这是使用流行的请求库.在您的代码中,您自然也需要处理错误情况.
如果您需要使用身份验证进行访问,则会更复杂一些.
小智 14
PyGitHub的文档很糟糕,但产品很棒.以下是实际检索文件的快速示例,在文件开头添加新注释并将其提交回来
from github import Github
gh = Github(login_or_token='.....', base_url='...../api/v3')
user = gh.get_user()
repo = user.get_repo("RepoName")
file = repo.get_file_contents("/App/forms.py")
decoded_content = "# Test " + "\r\n" + file.decoded_content
repo.update_file("/"RepoName"/forms.py", "Commit Comments", decoded_content, file.sha)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34210 次 |
最近记录: |