python根据字符串导入模块

问题:

path = "auth.my_auth.AUTH"  # 根据path实例化AUTH类

解决:

path = "auth.my_auth.AUTH"

import importlib

model_path, class_name = path.rsplit(".", 1)
model = importlib.import_module(model_path)  # 根据"auth.my_auth"导入my_auth模块
obj = getattr(model, class_name)()  # 反射并实例化

原文地址:https://www.cnblogs.com/zxc-Weblog/p/9120755.html

时间: 2024-08-04 09:15:48

python根据字符串导入模块的相关文章

python中根据字符串导入模块module

python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlib modname = 'datetime' datetime_module = importlib.import_module(modname) print(datetime_module) # <module 'datetime' from 'C:\\Users\\huchengyue\\AppData\\Local\\Programs\\Pyth

Python importlib(动态导入模块)

使用 Python importlib(动态导入模块) 可以将字符串型的模块名导入 示例: import importlib module = 'module name' # 字符串型模块名 test = importlib.import_module(module) # 导入模块 print(test.Class().attr) # 打印 Class 类的 attr 属性 原文地址:https://www.cnblogs.com/dbf-/p/10667248.html

python中动态导入模块

如果导入的模块不存在,Python解释器会报 ImportError 错误: >>> import something Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named something 有的时候,两个不同的模块提供了相同的功能,比如 StringIO 和 cStringIO 都提供了Strin

python基础,导入模块,if语句,while语句

python基础 python代码 变为字节码 变为机器码 最后执行执行'文件名.py'文件时出现的'文件名.pyc'文件为字节码 缓存机制 使用pycharm的时候在文件最开始添加下面这两行代码,中文部分为解释#!/user/bin/env python 用执行下面的命令#-*- coding:utf-8 -*- 使用的编码为UTF-8 为了不每次编写文件的时候都需要添加这两行代码,我们可以在pycharm中设置py文件的基础代码,就是创建py文件就会生成的代码 链接 import lib #

python 反射 动态导入模块 类attr属性

1.反射 hasattr getattr delattr setattr 优点:事先定义好接口,接口只有在被完成后才能真正执行,这实现了即插即用,这其实是一种“后期绑定”,即先定义好接口, 然后是再去实现具体的功能 print(hasattr(p, 'age')) # True 是否有属性 判断 print(getattr(p, 'name', '没有找到该参数')) # get属性值 print(getattr(p, 'name1', 'False')) # False setattr(p,

python settings 中通过字符串导入模块

1. 项目文件结构 set_test ├─ main.py # 入口函数 │ ├─notify # 自定义的模块 │ ├─ email.py # 自定义模块 │ ├─ msg.py # 自定义模块 │ ├─ wechat.py # 自定义模块 │ └─ __init__.py # 模块导入初始化函数 │ └─set_test # 总配置文件 └─ settings.py # 这个项目的架构是很多开源项目的架构标准 2. 接下来看看 文件中的内容 2.1. __init__.py 文件的内容 **

python入门20 导入模块(引包)

import xx 导入xx模块,就是变量xx指向该模块,通过变量xx可访问模块内的所有功能 import xx.yy   与  from xx import yy 使用不一样:前者如果使用yy下的fun()需写成xx.yy.fun(), 后者只写yy.fun()即可. python包:目录下带有__init__.py文件的就是包 #coding:utf-8 #/usr/bin/python """ 2018-11-18 dinghanhua 引包 ""&

python 根据路径导入模块

Import python module NOT on path http://stackoverflow.com/questions/10161568/import-python-module-not-on-path 常规做法: [python] view plain copy import sys sys.path.append('C:/full/path') from foo import util,bar 而要直接通过路径 [python] view plain copy import 

python进阶二(模块)【2-1 python之导入模块】

python之导入模块 要使用一个模块,我们必须首先导入该模块.Python使用import语句导入一个模块.例如,导入系统自带的模块 math: 你可以认为math就是一个指向已导入模块的变量,通过该变量,我们可以访问math模块中所定义的所有公开的函数.变量和类: >>> math.pow(2, 0.5) # pow是函数 1.4142135623730951 >>> math.pi # pi是变量 3.141592653589793 如果我们只希望导入用到的mat