DEFINE1 = 1
DEFINE2 = 2
DEFINE3 = 3
...
DEFINE10 = 10
Run Code Online (Sandbox Code Playgroud)
假设一个文件有10个全局常量,我想导入另一个文件.
除了执行以下操作之外,还有任何更简单的方法可以导入所有全局常量而不执行以下操作:from file_one.py import*.我不希望它导入整个文件,只导入全局变量.
from file_one.py import DEFINE1, DEFINE2, DEFINE3, ..............
Run Code Online (Sandbox Code Playgroud)
首先,我认为像您正在做的那样创建很多常量并将它们全部放入一个constants.py文件中然后执行from constants import *- 我自己一直这样做是完全可以的。只要我的所有常量都在该文件中定义,当我需要弄清楚来自哪里时,我就确切地知道该在哪里查找SOME_CONSTANT。
但我暂时假设您有一个包含很多常量的模块,并且它们全部由大写字母、数字和下划线组成。那时你可以做一些非常黑客的事情,比如
import re, file_one
for name,val in file_one.__dict__.items():
if re.match("[A-Z0-9_]+", name):
globals()[name] = val
Run Code Online (Sandbox Code Playgroud)
我强烈建议不要这样做,但这将使自动导入您定义的常量成为可能,而不必单独列出它们。
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |