在文件之间使用全局变量,无需 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中文网其他相关文章!