首页 > 后端开发 > Python教程 > 如何在不使用 `pickle` 或 `io` 的情况下在 Python 文件之间共享全局变量?

如何在不使用 `pickle` 或 `io` 的情况下在 Python 文件之间共享全局变量?

Barbara Streisand
发布: 2024-12-25 19:03:10
原创
158 人浏览过

How Can I Share Global Variables Between Python Files Without Using `pickle` or `io`?

在文件之间使用全局变量,无需 pickle 或 io 编写

全局变量提供了一种在程序的多个部分之间共享数据的便捷机制。然而,从另一个文件访问一个文件中定义的全局变量可能具有挑战性。

考虑以下场景:您有一个包含多个文件的项目,并且您想要定义所有这些文件都可以访问的全局变量.

方法一:间接访问

跨文件使用全局变量的难点在于模块隔离。 Python 中的模块是独立执行的,因此在一个模块中定义全局变量不会自动使其可供其他模块使用。

要解决此问题,请考虑在单独的文件中定义全局变量,例如 settings.py 。该文件将负责初始化并提供对全局变量的访问。

# settings.py
def init():
    global myList
    myList = []

# main.py
import settings
settings.init()  # Initialize the global variables
import subfile  # Import the subfile that needs access to the globals

# subfile.py
import settings
def stuff():
    settings.myList.append("hey")  # Access the global variable
登录后复制

方法 2:直接访问

另一种方法是使用模块属性声明全局变量。这本质上将变量公开为模块的属性。

# settings.py
myList = []

# main.py
import settings
import subfile

# subfile.py
import settings
def stuff():
    settings.myList.append("hey")
登录后复制

两种方法都允许您跨多个文件访问全局变量,确保整个程序中的数据一致性。

以上是如何在不使用 `pickle` 或 `io` 的情况下在 Python 文件之间共享全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板