【发布时间】:2018-04-30 10:40:39
【问题描述】:
这是我对 stackoverflow 的第一个问题。所以请善待我,如果我不是主题或精确,请帮助我下次改进。
我正在尝试使用 pyGithub 通过 Python3 修改和现有 Github Gist。 我创建了一个 API 令牌并且身份验证工作正常,但我正在努力编辑 Gist。我找不到合适的例子,这让我很清楚。
这是我的代码:
from github import Github
g = Github("XXX")
test2 = {"description": "the description for this gist",
"files": {"filter": {"content": "updated file contents"},
"Task": {"filename": "new_name.txt",
"content": "modified content"},
"new_file.txt": {
"content": "a new file"
}
}
}
g.get_gist(id="b2c5668fefe1f2e80252aabf4ef4e96c").edit(test2)
这是我收到的错误消息:
Traceback (most recent call last):
File "gist.py", line 15, in <module>
g.get_gist(id="b2c5668fefe1f2e80252aabf4ef4e96c").edit(test2)
File "/Users/DSpreitz/ogn-silentwings/venv/lib/python3.6/site-packages/github/Gist.py", line 249, in edit
assert description is github.GithubObject.NotSet or isinstance(description, str), description
AssertionError: {'description': 'the description for this gist', 'files': {'filter': {'content': 'updated file contents'}}}
我在这里找到了 pygithub 库的一些描述: pyGithub Docu
这是我要修改的要点:Gist
非常感谢任何解决此问题的帮助。
多米尼克
【问题讨论】:
-
你得到的断言错误是一个线索:
Gist.edit接收到的description参数必须是NotSet或者一个字符串,并且是一个字典(带有一个“description”键,即令人困惑)。这是 PyGithub 中的一般模式:参数类型在调用 GitHub API 之前被断言。
标签: python-3.x github gist pygithub