【问题标题】:Error in importing variables from one python script to another python script将变量从一个 python 脚本导入到另一个 python 脚本时出错
【发布时间】:2019-03-03 06:24:09
【问题描述】:

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

ImportError: cannot import name 'envName'

我的 A.py 和 B.py 脚本的示例结构如下:- 一个.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 脚本的最佳方法是什么?

【问题讨论】:

  • 你的问题不清楚。你在哪里使用envName
  • “在一个python脚本的__main__中定义”是什么意思?你有文件a.pyif __name__ == '__main__': A=1 和里面b.py 你有from a import A?这行不通。
  • 您要从同一目录中导入的脚本吗?如果没有,您在存储变量的子目录中有__init__.py 脚本吗?即使是空白的也足够了

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


【解决方案1】:

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

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

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

【讨论】:

  • 嗨,Sam ... 刚刚添加了我的脚本的示例结构以及我想要实现的目标,请问您能帮忙吗?
  • 您是否尝试删除 if __name__ == '__main__' 或将变量定义放在其中?
猜你喜欢
  • 2023-02-21
  • 1970-01-01
  • 1970-01-01
  • 2014-01-25
  • 2020-01-15
  • 1970-01-01
  • 1970-01-01
  • 2011-03-04
  • 2023-04-06
相关资源
最近更新 更多