配置#
你可以通过编辑配置文件、提供环境变量或编辑字典 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> 的环境变量提供覆盖。
配置按照以下顺序确定,后面的项优先:
配置文件目录(
FSSPEC_CONFIG_DIRECTORY或$HOME/.config/fsspec/)中的ini和json文件,按文件名的词典顺序排序FSSPEC_{protocol}环境变量FSSPEC_{protocol}_{kwargname}环境变量fsspec.config.conf的内容,可以在运行时编辑明确传递的
kwargs,无论是使用fsspec.open、fsspec.filesystem还是直接实例化实现类。