gpt4 book ai didi

python默认配置变量重用

转载 作者:行者123 更新时间:2023-11-30 22:50:05 25 4
gpt4 key购买 nike

class DefaultConfig(object):
class S3(object):
DATA_ROOT = 's3://%(bucket_name)s/NAS'
DATA_LOCATION = '{}/%(instrument_id)s/%(run_id)s'.format(DefaultConfig.S3.DATA_ROOT)

上面的代码给了我以下错误。

      File "./s3Utils.py", line 5, in <module>
from InfraConfig import InfraConfig as IC
File "/opt/src/datasource/src/main/python/util/InfraConfig.py", line 4, in <module>
class DefaultConfig(object):
File "/opt/src/datasource/src/main/python/util/InfraConfig.py", line 6, in DefaultConfig
class S3(object):
File "/opt/src/datasource/src/main/python/util/InfraConfig.py", line 14, in S3
DATA_LOCATION = '{}/%(instrument_id)s/%(run_id)s'.format(DefaultConfig.S3.DATA_ROOT)
NameError: name 'DefaultConfig' is not defined

为什么找不到DefaultConfig.S3.DATA_ROOT另外,这是我尝试通过重用 DefaultConfig 的值来编写结构化配置。有没有办法在不编写 yml 文件的情况下做到这一点?

最佳答案

无法找到 DefaultConfing,因为创建 S3 时未定义 DefaultConfig

请记住,类是对象。因为有对象,这意味着它们需要实例化。 Python 在定义的末尾实例化一个类,因此将其注册到全局变量中。由于类定义尚未完成,因此无法使用 DefaultConfig 名称。

关于python默认配置变量重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39518488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com