^
является метасимволом регулярного выражения, поэтому он не будет соответствовать буквальному символу ^
в тексте.Вам нужно экранировать таких символов:
'\^WITH_CIRCUMFLEX'
Если ваши входные данные генерируются или берутся из другого источника, используйте функцию regex.escape()
для экранирования метасимволов:
for name in list_name:
df_empty.to_pickle('{path}\{name}.pkl'.format(**locals()))
name = regex.escape(name, special_only=True)
pattern = regex.compile('{name}.pkl'.format(**locals()))
Однако, если вы ищете подходящие файлы, вы в настоящее время не используете ни одну из причин, по которой вы используете регулярное выражение.Ваш шаблон в лучшем случае будет соответствовать любому имени файла, оканчивающемуся на {name}.pkl
.Вам было бы намного лучше, если бы вы использовали glob module :
import glob
for name in list_name:
...
escaped_name = glob.escape(name)
files = glob.glob('*{}.pkl'.format(escaped_name))