Python: как проверить, есть ли потенциальные имена переменных в пространстве имен?
Как проверить, какие элементы списка потенциальных имен переменных находятся в пространстве имен? Должен ли я просто инициализировать их как None или это лучший способ?
# Potential list. Won't work, will give NameError if one of them is not in the namespace
all_vars = [rds.rclass, \
rds.rlevel, \
rds.seg \] # the list is actually much longer
#Could do:
all_vars =[]
try:
all_vars.append(rds.rclass)
except NameError:
pass
....
#or as initially said:
rds.rclass = rds.rlevel = ... = None
Есть ли другой (лучший) способ?
1 ответ
Решение
Ужасно, но это должно работать
all_vars = locals().get('all_vars', [])