То, чего я хочу добиться, основано на проголосовавшем ответе на предыдущий вопрос: Проверьте, существует ли узел в h5py
В основном я хочу заменить:
"/some/path" in h5File
с чем-то вроде:
import re
re.compile(r'/some/[pattern]+') in h5File
То, чего я хочу добиться, основано на проголосовавшем ответе на предыдущий вопрос: Проверьте, существует ли узел в h5py
В основном я хочу заменить:
"/some/path" in h5File
с чем-то вроде:
import re
re.compile(r'/some/[pattern]+') in h5File
Ключевое слово in
не может принимать регулярное выражение, но вы можете использовать встроенное понимание списка или filter
, чтобы получить все ключи из словаря, соответствующие заданному регулярному выражению.
E.g.
found_keys = [k for k in h5file if re.match(r'/some/[pattern]+', k)]
or
regex = re.compile(r'/some/[pattern]+')
found_keys = filter(regex.match, h5file)
any(regex.match(k) for k in h5file)
.
- person brandizzi; 12.11.2015
__contains__
, реализующийin
, не написан для приема скомпилированного регулярного выражения, или если вы не можете получить фактическую строку для сопоставления, сделать это невозможно. - person jonrsharpe   schedule 12.11.2015