
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 constantsfor name in dir(constants): const = getattr(constants,name)
如果它们遵循模式,您可以过滤这些名称:
for name in dir(constants): if name.startswith('FOO_'): 过滤器可以很简单,因为检查名称是全部大写.
>将列表声明为常量模块的一部分,然后将其导入.
>声明当前模块中的名称列表,并使用它来“导入”您的常量:
import constantsconst_names = ['SOME_CONST','OTHER_CONST','ANOTHER_ONE']for const_name in const_names: const = getattr(constants,const_name)总结
以上是内存溢出为你收集整理的遍历导入常量的Pythonic方法全部内容,希望文章能够帮你解决遍历导入常量的Pythonic方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)