cartopy.io.Downloader#
- class cartopy.io.Downloader(url_template, target_path_template, pre_downloaded_path_template='')[源代码]#
代表一个可以轻松配置的资源,它知道如何获取自己(可能通过HTTP)。
关键的接口方法是
path()
- 通常 all 将对该方法进行外部调用。要找到合适的Downloader
比如Downloader.from_config()
应考虑静态方法。- 参数:
url_template -- 代表此资源的完整URL的模板。
target_path_template -- 此下载器所代表的文件的完整路径的模板。通常,路径将是一条
config['data_dir']
,但这并不是严格的要求。如果调用时文件不存在Downloader.path()
它将被下载到此位置。pre_downloaded_path_template (optional) -- 已在此下载器外部下载的文件的完整路径的模板,应用作此资源所代表的文件。如果文件不存在时
Downloader.path()
称为它不会下载到此位置(与target_path_template
论点)。
备注
所有
*_template
参数应该使用标准进行格式化string.format()
规则直到调用后续方法(如Downloader.path()
).- FORMAT_KEYS = ('config',)#
中应提供的最低密钥
format_dict
论据path
,url
,target_path
,pre_downloaded_path
和acquire_resource
方法.
- acquire_resource(target_path, format_dict)[源代码]#
通过HTTP下载此资源所代表的文件。子类通常会重写此方法。
- 参数:
format_dict -- 用于替换某些模板变量的字典。子类应记录其中至少需要哪些键
FORMAT_KEYS
类属性。
- static from_config(specification, config_dict=None)[源代码]#
的
from_config
静态方法实现从配置字典获取Downloader(子)类实例的逻辑。- 参数:
specification -- 应该是可迭代的,因为它将以相反的顺序进行迭代,以找到最适合此规范的下载器实例。 一个示例规范是
('shapefiles', 'natural_earth')
用于自然地球形状文件。config_dict (optional) -- 通常将其保留为“无”以使用默认值
cartopy.config
“下载者”词典。
示例
>>> from cartopy.io import Downloader >>> >>> dnldr = Downloader('https://example.com/{name}', './{name}.txt') >>> config = {('level_1', 'level_2'): dnldr} >>> d1 = Downloader.from_config(('level_1', 'level_2', 'level_3'), ... config_dict=config) >>> print(d1.url_template) https://example.com/{name} >>> print(d1.url({'name': 'item_name'})) https://example.com/item_name
- path(format_dict)[源代码]#
返回此资源所代表的磁盘上文件的路径。
如果文件不存在于
pre_downloaded_path()
然后它会检查它是否存在于target_path()
,否则资源将通过acquire_resouce()
从url()
到target_path()
.通常,这是大多数应用程序都会调用的方法,允许新下载器的实现者专业化
acquire_resource()
.- 参数:
format_dict -- 用于替换某些模板变量的字典。子类应记录其中至少需要哪些键
FORMAT_KEYS
类属性。
- pre_downloaded_path(format_dict)[源代码]#
此资源所代表的文件在磁盘上的路径,如果它不存在,则不会对此路径采取进一步操作,并且所有进一步处理都将使用
target_path()
而不是.- 参数:
format_dict -- 用于替换某些模板变量的字典。子类应记录其中至少需要哪些键
FORMAT_KEYS
类属性。