Python-定义类的多个版本
我想定义同一类的两个不同版本:Python-定义类的多个版本,python,django,Python,Django,我想定义同一类的两个不同版本: mail.prod.py mail.devel.py 根据环境类型(prod/devel),只能使用/导入一个。我是否可以提供某种抽象,使其他类不必知道是导入prod还是devel?您可以使用环境变量来实现这一点。您可以在Windows中通过this和Linux通过类似于 EXPORT app_env="PROD" 现在,假设您已经在环境中设置了一个名为app\u env的变量,您可以在邮件模块的\uuuu init\uuuuu.py中执行此操作: impor
mail.prod.py
mail.devel.py
根据环境类型(prod/devel),只能使用/导入一个。我是否可以提供某种抽象,使其他类不必知道是导入prod还是devel?您可以使用环境变量来实现这一点。您可以在Windows中通过this和Linux通过类似于
EXPORT app_env="PROD"
现在,假设您已经在环境中设置了一个名为app\u env
的变量,您可以在邮件模块的\uuuu init\uuuuu.py
中执行此操作:
import os
if "app_env" in os.environ and os.environ['app_env'] == "PROD":
import prod as mailcfg
else:
import devel as mailcfg
此时,应使用mailcfg.variable
或mailcfg.DoSomething()导入并访问您的模块
您的邮件模块中需要三个文件:
mail/
__init__.py
prod.py
devel.py
您可以制作一个mail
模块,其中mail/\uuuu init\uuuuuuuuuupy
从mail.production
或mail.development
导入,具体取决于环境变量。你为什么不能把它们合并成一个类呢?