How to append to a file using PyGithub?

680 Views Asked by At

I want to append to an already existing .txt file using PyGithub in Python. I have tried this code:

git = Github(TOKEN)
repo = git.get_repo("Repository")
file = repo.get_contents("Textfile.txt", ref="Ref")

repo.update_file(file.path, "test", "Text I wanna store", file.sha, branch="Ref")

but this code deletes the old data and only stores this data i.e. "Text I wanna store" only.

I want to store this data at the end of the previously stored data like "Previous Data Text I wanna store"

2

There are 2 best solutions below

2
On BEST ANSWER

Your code is above is already good, you simply need to take the original Content of the File, and append new one with a + operator or an f-string

Here is an example

git = Github(TOKEN)
repo = git.get_repo("Repository")
file = repo.get_contents("Textfile.txt", ref="Ref")
new_data = input("Text you want to add")
update_file(file.path, "NEW COMMIT", f"{file} {new_data}", file.sha,branch="Ref")
0
On

.decoded_content.decode() Return file content

git = Github(TOKEN)
repo = git.get_repo("Repository")
file = repo.get_contents("Textfile.txt", ref="Ref")

repo.update_file(file.path, "test", f"{file.decoded_content.decode()} Text I wanna store ", file.sha, branch="Ref")