fastNLP.io.file_utils

fastNLP.io.file_utils.cached_path(url_or_filename: str, cache_dir: str = None, name=None) → pathlib.Path[源代码]

给定一个url,尝试通过url中的解析出来的文件名字filename到{cache_dir}/{name}/{filename}下寻找这个文件,

  1. 如果cache_dir=None, 则cache_dir=~/.fastNLP/; 否则cache_dir=cache_dir

  2. 如果name=None, 则没有中间的{name}这一层结构;否者中间结构就为{name}

如果有该文件,就直接返回路径

如果没有该文件,则尝试用传入的url下载

或者文件名(可以是具体的文件名,也可以是文件夹),先在cache_dir下寻找该文件是否存在,如果不存在则去下载, 并 将文件放入到cache_dir中.

参数
  • url_or_filename (str) -- 文件的下载url或者文件名称。

  • cache_dir (str) -- 文件的缓存文件夹。如果为None,将使用"~/.fastNLP"这个默认路径

  • name (str) -- 中间一层的名称。如embedding, dataset

返回

fastNLP.io.file_utils.get_filepath(filepath)[源代码]

如果filepath为文件夹,

如果内含多个文件, 返回filepath

如果只有一个文件, 返回filepath + filename

如果filepath为文件

返回filepath

参数

filepath (str) -- 路径

返回

fastNLP.io.file_utils.get_cache_path()[源代码]

获取fastNLP默认cache的存放路径, 如果将FASTNLP_CACHE_PATH设置在了环境变量中,将使用环境变量的值,使得不用每个用户都去下载。

Return str

存放路径

fastNLP.io.file_utils.split_filename_suffix(filepath)[源代码]

给定filepath 返回对应的name和suffix. 如果后缀是多个点,仅支持.tar.gz类型

参数

filepath -- 文件路径

返回

filename, suffix

fastNLP.io.file_utils.get_from_cache(url: str, cache_dir: pathlib.Path = None) → pathlib.Path[源代码]

尝试在cache_dir中寻找url定义的资源; 如果没有找到; 则从url下载并将结果放在cache_dir下,缓存的名称由url的结果推断而来。会将下载的 文件解压,将解压后的文件全部放在cache_dir文件夹中。

如果从url中下载的资源解压后有多个文件,则返回目录的路径; 如果只有一个资源文件,则返回具体的路径。

参数
  • url -- 资源的 url

  • cache_dir -- cache 目录

返回

路径