配置

配置#

你可以通过编辑配置文件、提供环境变量或编辑字典 fsspec.config.conf 的内容来设置默认的关键字参数,以传递给任何 fsspec 后端。

文件存储在由 FSSPEC_CONFIG_DIR 指向的目录中,默认为 "~/.config/fsspec/"。所有 *.ini*.json 文件将在导入时加载并解析为相应的格式,并输入到 config 字典中。例如,如果有一个包含以下内容的文件 "~/.config/fsspec/conf.json"

{"file": {"auto_mkdir": true}}

那么任何协议为“file”的文件系统实例(即 LocalFileSystem)都将被传递 kwargs auto_mkdir=True,除非用户提供了 kwarg 自己。

例如:

import fsspec
fs = fsspec.filesystem("file")
assert fs.auto_mkdir == True
fs = fsspec.filesystem("file", auto_mkdir=False)
assert fs.auto_mkdir == False

显然,你应该只定义适合给定文件系统实现的默认值。INI 文件仅支持字符串值。

或者,你可以使用样式为 FSSPEC_{protocol}=<json_dict_value>FSSPEC_{protocol}_{kwargname}=<string_value> 的环境变量提供覆盖。

配置按照以下顺序确定,后面的项优先:

  1. 配置文件目录(FSSPEC_CONFIG_DIRECTORY$HOME/.config/fsspec/)中的 inijson 文件,按文件名的词典顺序排序

  2. FSSPEC_{protocol} 环境变量

  3. FSSPEC_{protocol}_{kwargname} 环境变量

  4. fsspec.config.conf 的内容,可以在运行时编辑

  5. 明确传递的 kwargs,无论是使用 fsspec.openfsspec.filesystem 还是直接实例化实现类。