Как исправить «ImportError: невозможно импортировать имя» при совместном использовании глобальных переменных между файлами - PullRequest
0 голосов
/ 25 октября 2019

У меня есть параметры в классе SignIn, и я хочу использовать его в другом классе, но компилятор говорит: «ImportError: невозможно импортировать имя« HEADERS_CONTENT_TYPE »из« api.sign_in_page »

Что я должен сделать для импорта глобальногопеременные?

Я пытался объявить переменную как глобальную перед объявлением класса и просто импортировать ее во второй класс

global HEADERS_CONTENT_TYPE
global TOKEN_PARAM

class SignInPage:

from api.sign_in_page import HEADERS_CONTENT_TYPE, TOKEN_PARAM
class SignalsAddPage:

result = requests.post(url=ProjectConfigReader.SIGNALS_ENDPOINT, json=json_for_create_signal, headers={HEADERS_CONTENT_TYPE, TOKEN_PARAM})

Я ожидаю, что новый сигнал был создан, ноImportError: невозможно импортировать имя «HEADERS_CONTENT_TYPE» из «api.sign_in_page». Ошибка:

Ответы [ 2 ]

2 голосов
/ 25 октября 2019

Ключевое слово global используется внутри функции для задания значения переменной в глобальной области видимости. Импорт между модулями не требует использования глобального ключевого слова. См. FAQ ниже, чтобы помочь вам.

https://docs.python.org/3/faq/programming.html#how-do-i-share-global-variables-across-modules

0 голосов
/ 25 октября 2019

Вам не нужно использовать global. Просто установите значения для переменных, а затем вы можете импортировать их. global необходимо отложить, чтобы имя переменной внутри области функций ссылалось на то же значение, что и переменная с тем же именем вне ее.

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