Как определить, существует ли переменная в другом файле Python - PullRequest
3 голосов
/ 05 августа 2010

У меня есть два файла Python. Из файла # 1 Python я хочу проверить, есть ли определенная глобальная переменная, определенная в файле # 2 Python.

Каков наилучший способ сделать это?

Ответы [ 3 ]

4 голосов
/ 05 августа 2010

Вы можете напрямую проверить, имеет ли модуль file2 (который является объектом модуля) атрибут с правильным именем:

import file2
if hasattr(file2, 'varName'):
    # varName is defined in file2…

Это может быть более прямым и разборчивым, чем подход try… except… (в зависимости от того, как вы хотите его использовать).

3 голосов
/ 05 августа 2010
try:
    from file import varName
except ImportError:
    print 'var not found'

В качестве альтернативы вы можете сделать это (если вы уже импортировали файл):

import file
# ...
try:
    v = file.varName
except AttributeError:
    print 'var not found'

Это будет работать, только если переменная является глобальной.Если вам нужны переменные в области видимости, вам нужно использовать самоанализ.

1 голос
/ 11 февраля 2013

С помощью встроенной функции getattr() вы также можете указать значение по умолчанию, например:

import file2

myVar = getattr(file2, attribute, False)

См. Документацию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...