首页 > 解决方案 > glob 语法未按预期工作([ ] *)

问题描述

我有一个包含 4 个文件的文件夹。

我使用了代码:

NER_MODEL_FILEPATH = glob.glob("model/[Keras_entity]*.h5")[0]

它工作正常,因为 NER_MODEL_FILEPATH 是一个仅包含该 Keras_entity 文件路径的列表。不选择其他 .h5 文件。

但是当我使用这段代码时:

WORD_ENTITY_SET_FILEPATH = glob.glob("model/[word_entity_set]*.pickle")[0]

它没有按预期工作,而不是只拾取那个 word_entity_set 文件,这个列表包含这两个泡菜文件。为什么会发生这种情况?

标签: pythonglob

解决方案


只需删除方括号:word_entity_set*.pickle

根据文档

[seq]匹配 seq中的任何字符

所以word_entity_set_20210223-2138.pickle匹配是因为它以 a 开头w,并且intent_tokens.pickle匹配是因为它以 a 开头i

需要明确的是,它按预期工作。你的期望是不正确的。


推荐阅读