Python自动识别开发环境测试环境生产环境代码模板

Posted 小基基o_O

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python自动识别开发环境测试环境生产环境代码模板相关的知识,希望对你有一定的参考价值。

获取主机地址
from socket import gethostname, gethostbyname
hostname = gethostname()  # 获取主机名
print('hostname:', hostname)
host = gethostbyname(hostname)
print('host:', host)  # 根据主机名获取主机地址
获取操作系统类型
import platform
system = platform.system()
if system == 'Windows':
    print(system)
elif system == 'Linux':
    print(system)
else:
    print(system)

自动切换 开发环境、测试环境、生产环境

HOST_PRODUCTION = '生产环境HOST'
HOST_TEST = '测试环境HOST'


class ConfigCommon:
    PORT = 3306  # 数据库的端口号
    DATABASE = '库名'


class ConfigProduction(ConfigCommon):
    HOST = '数据库的主机地址'
    USER = '用户名'
    PASSWORD = '密码'


class ConfigTest(ConfigCommon):
    HOST = '数据库的主机地址'
    USER = '用户名'
    PASSWORD = '密码'


class ConfigDevelopment(ConfigCommon):
    HOST = '数据库的主机地址'
    USER = '用户名'
    PASSWORD = '密码'


def get_host():
    from socket import gethostname, gethostbyname
    hostname = gethostname()  # 获取主机名
    print('hostname:', hostname)
    host = gethostbyname(hostname)
    print('host:', host)  # 根据主机名获取主机地址
    return host


def get_config():
    host = get_host()
    if host == HOST_PRODUCTION:
        return ConfigProduction
    elif host == HOST_TEST:
        return ConfigTest
    else:
        return ConfigDevelopment


def connect(host, port, user, password, database):
    return '数据库连接对象'


class Db:
    def __init__(self):
        config = get_config()
        self.connection = connect(
            host=config.HOST,
            port=config.PORT,
            user=config.USER,
            password=config.PASSWORD,
            database=config.DATABASE,
        )


if __name__ == '__main__':
    db = Db()

以上是关于Python自动识别开发环境测试环境生产环境代码模板的主要内容,如果未能解决你的问题,请参考以下文章

python程序如何在生产和测试环境自动调用对应的配置文件

使用Maven自动打包配置文件生成开发环境,测试环境,生产环境

Jenkins测试环境到生产环境的一键部署策略(Windows)

开发环境,测试环境,生产环境的区别

iOS 打包自动配置环境的简易方法

什么是JAVA开发环境,测试环境及生产环境,及它的过程