计算 github 拉取请求文件中的总行数

Count total number of lines in a github pull request file

我正在使用 github3.py 库来查询与拉取请求关联的文件中的更改。

我在下面编写了代码,用于检索对文件所做的总行更改数。我想扩展它以根据文件中的总行数得出一个百分比的变化。有没有人找到使用 github3.py 库获取文件总行数的方法?阅读 github3.py 文档和 GitHub api 文档,我没有看到一个明确的方法来做到这一点。

for prs in repo.pull_requests():
    for data in repo.pull_request(prs.number).files():
        capture_changes = data.as_dict()
        print(capture_changes['changes'])

更新:按照 user5823815 的建议使用 readlines() 后,我想出了这个方法,但我有一个重定向问题,我将在另一个问题中解决。

import urllib
from urllib import requests
response = urllib.request.urlopen("https://source_url")
lines = response.readlines()
num_lines = sum(1 for line in lines if line.rstrip())
print(num_lines)

对于文档,您可以使用 readlines() 获取所有行并将它们分配给列表。测量它将生成的列表的长度。然后取 pull 的长度,简单地将 pull 除以 doc 的长度。