У меня есть пнг, и я хочу создать файл в репозитории github, который будет в себе иметь этот пнг
У меня есть файл cam.png, и я хочу поместить этот файл в репозиторий на github, я использую PyGitGub
from github import Github
TOKEN='мой токен'
g=Github('TOKEN')
repo= g.get_user().get_repo('db')
with open('cam.png', encoding='cp1251') as file:
repo.crete_file('cam.png', 'New Png!', file)
Но мне выдаёт выдаёт AssertionError. Можно ли вообще так делать? Или нужно по другому?
Ответы (2 шт):
Автор решения: CrazyElf
→ Ссылка
Поскольку файл с картинкой это двоичный файл, открывать его нужно соответственно в двоичном режиме:
with open('cam.png', 'rb') as file:
По умолчанию питон открывает файлы на чтение в текстовом режиме. Кодировка применима только к текстовым файлам, двоичные файлы читаются "как есть", байт в байт.
Автор решения: Sanekakf
→ Ссылка
Спасибо CrazyElf, с помощью кодировки 'rb' (я не до конца понял), и вправду можно передавать изображение в байтах. В мой код я добавил:
x=file.read()
repo.crete_file('cam.png', 'New Png!', x)