github - 如何从 Github 的源代码文件中只获取一些行?
问题描述
如何获取指向源代码特定行的 URL 指向的代码片段(如下所示)?
代码片段:
def from_file(cls, file, *args, **kwargs):
"""Try loading given cache file."""
try:
cache = shelve.open(file)
return cls(file, cache, *args, **kwargs)
except OSError as e:
logger.debug("Loading {0} failed".format(file))
raise e
解决方案
无法使用 GitHub API 从文件中仅获取选定的行。
URL 中之后的部分#
称为片段,它不会通过网络发送到远程服务器。相反,它由用户代理(例如,网络浏览器)解释以选择资源(网页)的特定位置或部分。这部分完全是在客户端完成的,当通过 GitHub Web 界面完成时,是用 JavaScript 实现的。因此,服务器永远不会知道您只请求了文件的一部分。
GitHub API 不只提供选定的行,因为通常这比只提供整个文件更昂贵且更难实现。例如,有人可能违反最佳实践,签入了带有 CRLF 行结尾的文件,这需要进行特殊解析和处理。此外,没有有意义的方式来表示 PDF 或 JPEG 文件中的行或任何类型的部分数据。除了从存储库中读取整个文件之外,所有这些情况都需要特殊的解析和评估。简单地把整个文件交给你,让你决定如何在程序中解析或解释它,效率要高得多。
推荐阅读
- react-native - 如何在反应导航 v4 中从底部选项卡导航器调用警报
- c++ - 如何计算文本文件中单词中的单个字符数?
- azure - 为 Azure 存储添加生命周期管理 (tierToArchive)
- python - Python pygame 客户端/服务器运行缓慢
- c# - 保存文件后在 C# 中关闭 Excel
- java - 我们可以使用 Object 类的实例作为 HashMap 中的键吗
- javascript - 如何在javascript中从windows.parent.location.href中提取基本Url
- php - 如何在 Laravel 中保持/传递经过身份验证的用户会话到其他域
- java - StringBuffer 会改变 JSON 的顺序吗?
- python - 过滤另一个数据框以在另一个数据框中创建新列