pooch是python的一个模块,主打一个更加方便地下载文件,适用于科研人员和开发者。目前,已经有scikit-image, MetPy, scipy, seaborn等项目采用pooch作为内置数据集的下载方法。
其安装过程十分便捷
pip install pooch
其特性如下
通过retrieve函数,可以直接下载文件,示例如下,其中file_path是下载完成后本地文件的地址。
import pooch
URL = "https://github.com/fatiando/pooch/raw/v1.0.0/data/tiny-data.txt"
file_path = pooch.retrieve(URL,
known_hash="md5:70e2afd3fd7e336ae478b1e740a5f08e")
其完整参数如下
retrieve(url, known_hash, fname=None, path=None, processor=None, downloader=None, progressbar=False)
其中,url是下载地址,其他参数说明如下
下面的代码,会把URL对应的文件,直接存储在当前文件夹,并重命名为test.txt。
file_path = pooch.retrieve(URL, None, fname="test.txt", path="")
pooch提供了file_hash函数,用于计算文件的hash码,有两个输入参数,分别是待计算的文件喝哈希算法字符串,默认是’sha256’。
file_hash函数其实是调用了标准库中的hashlib模块,支持hashlib.algorithms_available中的所有算法,如下表所示