遍历导入常量的Pythonic方法
发布时间:2020-12-20 11:35:52 所属栏目:Python 来源:网络整理
导读:我从我的文件constants.py导入一些常量,如下所示: from constants import (SOME_CONST,OTHER_CONST,ANOTHER_ONE) 这个常量是文件名,我正在读取数据,我想要实现的是: for filename in [SOME_CONST,ANOTHER_ONE]: # process file constants.py SOME_CONST =
我从我的文件constants.py导入一些常量,如下所示:
from constants import (SOME_CONST,OTHER_CONST,ANOTHER_ONE) 这个常量是文件名,我正在读取数据,我想要实现的是: for filename in [SOME_CONST,ANOTHER_ONE]: # process file constants.py SOME_CONST = "filename.txt" OTHER_CONST = "myfile.xml" ANOTHER_ONE = "file.csv" 但我想知道是否有办法避免在for中声明列表,如遍历或构建导入常量列表,因为可能有许多常量不仅仅是3例如示例而且容易出错,因为我会需要导入常量并将其添加到列表中,我只想导入它并使用导入的任何内容. 解决方法
你不能列出’所有导入的常量’,没有.它们只是当前模块中的更多全局变量.
您的选择是: >列出常量模块上的所有名称: import constants for name in dir(constants): const = getattr(constants,name) 如果它们遵循模式,您可以过滤这些名称: for name in dir(constants): if name.startswith('FOO_'): 过滤器可以很简单,因为检查名称是全部大写. import constants const_names = ['SOME_CONST','OTHER_CONST','ANOTHER_ONE'] for const_name in const_names: const = getattr(constants,const_name) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |