从GitHub或GitHub Enterprise下载单个文件/目录的工具。这避免了克隆整个存储库的要求。

githubdl的Python项目详细描述


[![PYPI版本](https://badge.fury.io/py/githubdl.svg)(https://badge.fury.io/py/githubdl)[![下载](http://pepy.tech/badge/githubdl)(http://pepy.tech/project/githubdl)[![运行状态](https://api.shippable.com/projects/5b2b5de16104a90700924b85/badge?branch=master)"(https://app.shippable.com/github/wilvk/githubdl)


#要求:

-python 3.4+
-github或github企业帐户

git+git+https://github.com/wilvk/githubbdl.git
`````


ssh:

``bash
``` bash
$pip安装git+ssh://git@github.com:wilvk/githubdl.git
`````


`````bash
`` bash
`>$git克隆git-git@github.com:wilvk/githubdl.git/githubdl.git

$cd githubdl

````>$pip安装-e.
````

#用法:

获取github令牌:

然后选择"设置"
-在"设置"页的左侧菜单中,选择"开发人员设置"
-在"开发人员设置"页的菜单中,选择"个人访问令牌"
-单击"生成新令牌"按钮
-输入令牌的名称。令牌只需要指定"read:org"权限。

[此处](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)中也有关于如何执行此操作的说明。

将其导出为环境变量"git\u token `。



\在unix/linux上:


``bash
$export-git\u token=12345667891234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123
`````





c:\>;在windows:




/>````````````` ` ` ` ` ` ` `

34567890123
````

##单个文件:

然后,例如,从存储库"http://github.com/wilvk/pbec"下载名为"readme.md"的文件:

```bash
$githubdl-u"http://github.com/wilvk/pbec"-f"readme.md"
2018-05-12 07:19:16934-根-信息-请求文件:readme.md网址:https://api.github.com/repos/wilvk/pbec/contents/readme.md
2018-05-12 07:19:18165-根-信息-写入文件:readme.md
`````

```整个目录:

``bash
$githubdl-u"http://github.com/wilvk/pbec"-d"支持"
2018-05-12 07:19:41667-根-信息-检索目录的文件列表:支持
2018-05-12 07:19:41668-根-信息-请求文件:支持网址:https://api.github.com/repos/wilvk/pbec/contents/support
2018-05-12 07:19:42,978-根-信息-请求文件:support/screen shot 2017-12-10 at 9.27.56 pm.png网址:https://api.github.com/repos/wilvk/pbec/contents/support/screen shot 2017-12-10 at 9.27.56 pm.png
2018-05-12 07:19:46,274-根-信息-写入文件:支持/屏幕截图2017-12-10,时间:9.27.56 pm.png
2018-05-12 07:19:46,286-root-info-检索目录的文件列表:support/docker

```

``整个存储库:

``bash
$githubdl-u"http://github.com/wilvk/pbec"-d"/"-t"。


````

`/`目录。






>特定提交的单个文件:特定提交的单个文件:


``bash
$gitububdl-u"http://github.com/wilvuk/pbec"--f"readme.md"--r"c29eb5a5a5a5d536457a5a5c5c5c5c5c22f28c4c2ce1c1c638"


```






<<<


``bash
$githubdl-u"http://github.com/wilvk/pbec"-d"支持"-r"c29eb5a5d364870a55c2c22f203f8c4e2ce1c638"



`````
"c29eb5a5d364870a55c22f203f8c4e2ce1c638"-t"。


````


注意:如果未设置"-t",则输出将转到您的`/`目录。

使用子模块(如.gitmodules中所指定):

``bash
$githubdl-u"http://github.com/wilvk/pbec"-d"/"-r"c29eb5a5d364870a5c2c22f203f8c4ce1c638"-t"。"-s


````

json列出存储库的所有标记:

``bash
$githubdl-u""http://github.com/wilvk/pbec"-a
```


``列出一个json存储库的所有分支:

`` bash
$githubdl-u"http://github.com/wilvk/pbec"-b
````


`;选项:

当前的选项有:


`` bash
>$githubdl--help或-h
```````` bash


br/>--文件-f
--dir-d
--u r l(必需)-u
--target-t
--git_token-g
--log_level-l
--reference-r
--标记-a
--分支-b
--子模块-s
```

以及目录下载,仅包含有效的:

-存储库标记
-提交shas
-分支名称。

02:31:08)
[gcc 5.3.0]在Linux上
键入"帮助"、"版权"、"信用"或"许可证"以获取更多信息。
>;
github dl.dl_dir("https://github.com/wilvk/pbec","支持",gitu-token="1234566789012345678901234567890123456789012345678901212345667890123")
````



\环境变量:bash中的环境变量:




```bash中的bash
>$export-git-token=1234566789012123456678901234567890123456789012123123456678901234567890123456789012123123456678901234567890123
``````



```````````````````````````````br/>>;>;github dl.dl戡dir("https://github.com/wilvk/pbec","support")
````

``python3
>;>gt;githubdl.dl戡dir("https://github.com/wilvk/pbec","support","support戋new")
```

``python3
>;>github dl.dl戋dir("https://github.com/wilvk/pbec","support","support戋new",子模块=true)
```

gitu-token="1234566789012345678901234567890123456789012345678901212345667890123")
````



\环境变量:bash中的环境变量:




```bash中的bash
>$export-git-token=1234566789012123456678901234567890123456789012123123456678901234567890123456789012123123456678901234567890123
``````



```````````````````````````````br/>>;>;github dl.dl_文件("https://github.com/wilvk/pbec","readme.md")
````

``python3
>>>;>;githubdl.dl_文件("https://github.com/wilvk/pbec","readme.md","new_readme.md")
````



扩展选项:



;文件下载选项:




/>只需要"repo_url"和"文件名"两个选项。

```python3
def dl_文件(repo_url,文件名,目标文件名,目标文件名,github_token='',日志级别='',参考号:
````````
`````````````````````````````````````br/>
目录下载选项:

只需要"repo-url"和"base-path"。

``python3
def dl_u dir(repo_u url,base_u path,target_u path='',github_u token='',log_level='',reference='',submodules='':
`````



只需要"repo_url"。

``python3
def dl_tags(repo_url,github_token='',日志级别="":
`````



\<

分支下载选项:


只需要"repo\u url"就可以了。


``python3
def dl\u分支(repo\u url,github\u token='',日志级别="":
``````



`````
````````

`````>
```````日志级别是作为日志级别传入的,日志级别是作为日志级别传入的一个日志日志日志日志级别的一"logging"变量。例如,

`` python3
>;>import logging
>;>import github dl
>;>githubdl.dl_文件("http://github.com/wilvk/pbec","readme.md",logu level=logging.debug)
```

``测试:

```bash
$auto/run tests
`````


注意:运行测试必须将github令牌导出为"git\u令牌"。



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像