importlib模块 反射字符串的对象

 

通过 importlib模块 反射字符串的对象
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Django 1.10.4
>>> from crm import models

#使用importlib模块的import_module方法就可以实现动态的导入
>>> import importlib  

>>> models.Course._meta
for Course>
>>> models.Course._meta.verbose_name
'course'
>>> models.Course._meta.model_name
'course'
>>> models.Customer._meta.verbose_name
'客户信息'
>>> 
>>> 
>>> models.Customer._meta
for Customer>
>>> models.Customer
<class 'crm.models.Customer'>
>>> m = models.Customer
>>> importlib.import_module('crm')
'crm' from '/home/ligq/python/django/mycrm/crm/__init__.py'>
>>> importlib.import_module('crm.models')
'crm.models' from '/home/ligq/python/django/mycrm/crm/models.py'>
#反射出来字符串'crm.models' 的对象
>>> mc = importlib.import_module('crm.models')
>>> mc.UserProfile
<class 'crm.models.UserProfile'>

#这时候就可以操作这个对象了
>>> mc.UserProfile.objects.all()
, , ]>

 

转载于:https://www.cnblogs.com/noube/p/6261735.html

你可能感兴趣的:(python)