Ошибка при импорте переменных из одного скрипта Python в другой скрипт Python - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть набор из более чем 10 переменных, определенных в __main__ одного скрипта Python, и их необходимо импортировать в другой скрипт Python, чтобы использовать их значения в различных методах.Я использовал from <pythonfile> import var1, var2 ...., var10 в вызывающем скрипте Python, но он выдает ошибку, как показано ниже: -

ImportError: cannot import name 'envName'

Пример структуры моих скриптов A.py и B.py такой: - A.py

if __name__ == '__main__':
    var1 = "text1"
    var2 = "text2"
    var3 = "text3"
    B.methodA()

B.py

from A import var1, var2, var3

def methodA()
    print(var1)

Это то, что я ищу.В основном мне нужно более 10 переменных для использования в другом скрипте (оба скрипта находятся в одной папке), поэтому мне нужна помощь, чтобы найти лучший способ сделать это.Я знаю, что описанный выше процесс может быть очень глупым и неправильным.

Может кто-нибудь помочь мне?Я использую python3.6 Также, каков наилучший способ импортировать и использовать эти многие переменные из одного сценария python в другой сценарий python?

1 Ответ

0 голосов
/ 27 сентября 2018

Предполагая, что вы имеете в виду, что, определяя переменные "в __main__", вы имеете в виду что-то вроде:

if __name__ == '__main__':
    var1 = 'foo'

, тогда вы не можете напрямую импортировать var1 в другой скрипт.__name__ - это только '__main__', если файл запускается напрямую.Если вы импортируете его в другой скрипт, __name__ - это не '__main__', поэтому переменные никогда не определяются.Простое извлечение var1 = 'foo' из if __name__ == '__main__' должно решить вашу проблему.

...