如何在不运行变量声明之外的所有代码的情况下从Python中的另一个文件访问变量?

我已经查找了几个解决此问题的方法,但似乎没有一个有效。假设我有一个名为“Var”的文件,我简单地放了:

myvar = 25
print("myvar is equivalent to 25.")

然后我有另一个名为“运行”的文件,我把:

from Var import myvar
print(myvar)

从“运行”文件中,我想从该文件访问的唯一内容是变量,但是当我实际运行代码时,它会运行整个文件,因此输出为:

myvar is equivalent to 25.
25

我想要做的就是访问变量,但由于某种原因它正在运行整个文件!我如何获取它以便它只获取变量而不运行整个文件?

回答

当一个 python 模块被加载时,它将遍历文件并执行顶层的所有语句。

如果您希望该print语句仅在您将文件作为脚本执行(例如通过运行python Var.py)时才发生,那么您需要检查它是否是“主”模块。

为此,您可以检查__name__属性。

为了 Var.py

myvar = 25


if __name__ == "__main__":
    print("myvar is equivalent to 25.")

对于Run.py

from Var import myvar


if __name__ == "__main__":
    print(myvar)


以上是如何在不运行变量声明之外的所有代码的情况下从Python中的另一个文件访问变量?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>