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_pathacquire_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 类属性。

target_path(format_dict)[源代码]#

此资源所代表的文件在磁盘上的路径必须存在或可由当前用户写。此方法不会检查这些条件中的任何一个。

参数:

format_dict -- 用于替换某些模板变量的字典。子类应记录其中至少需要哪些键 FORMAT_KEYS 类属性。

url(format_dict)[源代码]#

此资源代表的完整URL。

参数:

format_dict -- 用于替换某些模板变量的字典。子类应记录其中至少需要哪些键 FORMAT_KEYS 类属性。