Python 3.x 如何为全局变量创建类?

Python 3.x 如何为全局变量创建类?,python-3.x,class,Python 3.x,Class,我试图建立逻辑,以便从项目中的任意文件访问全局变量(示例配置)。我有这个选择,这个工作对我来说,但我担心什么样的实现是不正确的。你怎么想的?我能改进什么 # file config.py import json class GetGlobals: def __init__ (self): setting = None with open("conf.json") as f: setting = json.loads(f.read(

我试图建立逻辑,以便从项目中的任意文件访问全局变量(示例配置)。我有这个选择,这个工作对我来说,但我担心什么样的实现是不正确的。你怎么想的?我能改进什么

# file config.py
import json

class GetGlobals:
    def __init__ (self):
        setting = None
        with open("conf.json") as f:
            setting = json.loads(f.read())

        self.NAME = setting["name"]
        self.VERSION = setting["version"]
谢谢你的帮助。祝你今天愉快

#文件config.py
导入json
类GetGlobals(对象):
设置=无
以open(“conf.json”)作为f:
setting=json.loads(f.read())
名称=设置[“名称”]
版本=设置[“版本”]
在第二个文件中

#file main.py
import config

print(GetGlobals.NAME) # accessing value
name = GetGlobals.NAME #assigning to variable

请注意,一般来说,这并不能真正得到回答。在某些情况下,这是一个好主意,甚至被大型、精心设计的库使用,在许多情况下,这是一个糟糕的主意,可以很容易地以不同的方式完成。您的项目有哪些约束条件?它是一个库还是一个应用程序?您可能需要在同一进程中同时运行两个代码“实例”吗?将这些设置仅针对每个线程或特定上下文设置为“全局”是否更好?@MisterMiyagi这是一个只有一个实例的应用程序。我需要学习web服务器的全局配置。我有下一个想法。发出GET请求,例如
?request=GET version
,作为响应,用户从配置文件中获取信息,但我不会总是阅读此文件,也不希望总是使用open()发出
,因为我考虑的是带有全局变量的类。不需要为此定义单独的类。所有
设置
名称
版本
都可以在顶层定义。使用类只是一种误导,因为它意味着能够创建有意义的实例——这里不是这种情况。。。为什么不使用环境变量或设置文件呢。更简单,更高效。因为这个答案很糟糕,所以它甚至不是一门singelton课程。
#file main.py
import config

print(GetGlobals.NAME) # accessing value
name = GetGlobals.NAME #assigning to variable