配置#
你可以通过编辑配置文件、提供环境变量或编辑字典 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
还是直接实例化实现类。