将变量从一个python脚本导入到另一个python脚本时出错

时间:2018-09-27 10:48:53

标签: python python-3.x python-import

我在一个python脚本的__main__中定义了超过10个变量,需要将它们导入另一个python脚本以在不同方法中使用它们的值。我在调用python脚本中使用了from <pythonfile> import var1, var2 ...., var10,但它给了我如下错误:-

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 :(得分:0)

假设您的意思是通过在“ __main__”中定义变量,则意味着您拥有类似的东西:

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

那么您就无法直接将var1导入另一个脚本。如果直接运行文件,则__name__仅是'__main__'。如果要将其导入到另一个脚本中,__name__不是'__main__',那么就永远不会定义变量。只需从var1 = 'foo'中取出if __name__ == '__main__'就可以解决您的问题。