You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用本地File.txt作为参数更新GitHub仓库中的文件

实现方法

你只需要提前读取本地File.txt的完整内容,将读取到的内容作为NEW_CONTENT参数传入update_file接口,即可实现GitHub远程文件被本地文件内容全量替换。

可直接运行的修改后代码

from github import Github

# 替换为你自己的配置项
ACCESS_TOKEN = "你的GitHub个人访问令牌"
REPO_NAME = "目标仓库名,格式为「所有者/仓库名」"
GITHUB_FILE_PATH = "待更新文件在仓库内的相对路径"
BRANCH_NAME = "要提交到的分支名称"
COMMIT_MSG = "本次提交的说明信息"
LOCAL_FILE_PATH = "File.txt" # 本地待上传文件的路径,和脚本同目录可直接写文件名

# 初始化Github实例、获取仓库对象
g = Github(ACCESS_TOKEN)
repo = g.get_repo(REPO_NAME)
file = repo.get_contents(GITHUB_FILE_PATH, ref=BRANCH_NAME)

# 读取本地文件全部内容
with open(LOCAL_FILE_PATH, "r", encoding="utf-8") as f:
    local_file_content = f.read()

# 执行远程文件更新
repo.update_file(
    path=file.path,
    message=COMMIT_MSG,
    content=local_file_content,
    sha=file.sha,
    branch=BRANCH_NAME
)

注意事项

  • 普通文本文件读取时指定encoding="utf-8"可以避免绝大多数乱码问题;如果是图片、压缩包这类二进制文件,把文件打开模式改成"rb"即可,直接传入读取到的二进制内容,PyGithub会自动做适配处理
  • 如果远程目标文件不存在,不要调用update_file,替换为repo.create_file()方法即可完成新建+写入
  • 调用get_contents时传入ref=BRANCH_NAME可以避免默认拉取主分支内容、导致sha校验不通过提交失败的问题

内容的提问来源于stack exchange,提问作者Salmaan Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 15:39:14