📜  如何使用 pygithub 上传文件和文件夹 - Python (1)

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

如何使用 PyGithub 上传文件和文件夹 - Python

PyGithub 是一个 Python 库,让用户可以使用 GitHub API 进行管理,包括上传文件和文件夹。本文将介绍如何使用 PyGithub 上传文件和文件夹。

安装 PyGithub

要开始使用 PyGithub,需要先安装它。可以使用 pip 进行安装:

pip install pygithub

安装成功后,在 Python 代码中导入 PyGithub:

from github import Github
上传文件

使用 PyGithub 上传文件到 GitHub 非常简单。以下是上传一个文件的基本代码:

from github import Github

# 创建 GitHub 对象
g = Github("your-access-token-here")

# 获取用户
user = g.get_user()

# 获取仓库
repo = user.get_repo("your-repository")

# 上传文件
with open("file-to-upload.txt", "rb") as file:
  content = file.read()
  repo.create_file("path/to/file", "commit message", content)

这里的 your-access-token-here 是你的 GitHub access token,file-to-upload.txt 是你要上传的文件,path/to/file 是你要上传到的 GitHub 仓库中的文件路径。

上传文件夹

使用 PyGithub 上传文件夹与上传文件类似。以下是上传文件夹的基本代码:

import os
from github import Github

# 创建 GitHub 对象
g = Github("your-access-token-here")

# 获取用户
user = g.get_user()

# 获取仓库
repo = user.get_repo("your-repository")

# 上传文件夹
def upload_folder(path, prefix=""):
  for name in os.listdir(path):
    full_path = os.path.join(path, name)
    if os.path.isdir(full_path):
      upload_folder(full_path, prefix + name + "/")
    else:
      with open(full_path, "rb") as file:
        content = file.read()
        repo.create_file(prefix + name, "commit message", content)

upload_folder("folder-to-upload")

这里的 your-access-token-here 是你的 GitHub access token,folder-to-upload 是你要上传的文件夹。这里的 upload_folder 函数用于递归上传文件夹中的所有文件。

结论

使用 PyGithub 上传文件和文件夹是非常简单的,只需要几行代码就可以实现。通过这些代码,您可以更轻松地管理您的 GitHub 仓库。