📜  python获取github文件内容——Python(1)

📅  最后修改于: 2023-12-03 15:04:41.792000             🧑  作者: Mango

Python获取Github文件内容

Github作为全球最大的开源代码托管平台,为程序员提供了不少便利。所以说在我们的开发过程中,有时会需要使用Python来获取Github的文件内容。

本文将介绍如何使用Python通过Github API获取Github某个仓库的某个文件的内容。

环境准备

使用Python获取Github文件需要安装requests的库。

pip install requests
获取Github Token

在使用Github API前,我们需要先获得访问权限,一种常见的使用方式是使用Personal Access Token。

  • 进入Settings -> Developer settings -> Personal access tokens
  • 点击Generate new token,设置Token描述、勾选需要授予的权限。
  • 点击Generate token,成功生成Personal Access Token。

将生成的Token保存备用。

编写代码
  • 导入requests库。
  • 构造Github API地址,获取Github文件的内容并返回。
  • 如果token不存在,则需要加上一些headers。

代码片段如下:

import requests

def get_content_from_github_api(owner, repo, path, branch='master', token=None):
    url = f'https://api.github.com/repos/{owner}/{repo}/contents/{path}?ref={branch}'

    headers = {}
    if token:
        headers['authorization'] = f'token {token}'

    res = requests.get(url, headers=headers)

    if res.status_code == 200:
        content = res.json()['content']
        return content
    else:
        return None
使用示例
content = get_content_from_github_api('owner', 'repo', 'file_path', 'branch', 'token')
if content:
    content = base64.b64decode(content).decode()
    print(content)

其中,owner、repo、file_path、branch和token分别代表Github上目标仓库的信息。

  • owner:指Github用户名或组织名。
  • repo:指Github仓库名。
  • path:指Github仓库中的文件路径。
  • branch:指Github仓库中的分支名。默认为master。
  • token:指Github Personal Access Token。如果没有Token,可以不用传入。

如果获取成功,则返回文件的内容。

结语

以上就是通过Python获取Github文件内容的介绍,希望对大家有所帮助。

完整代码片段可以参考以下链接:

https://github.com/gaoxinge/python-get-github-file-content