Python内置函数__import__和eval用法
来源:互联网 发布:野生程序员博客 编辑:程序博客网 时间:2024/05/17 03:02
由模块的名称(字符串)动态地去调用函数
import glob,osmodules = []for module_file in glob.glob("*-plugin.py"): try: module_name,ext = os.path.splitext(os.path.basename(module_file)) module = __import__(module_name) modules.append(module) except ImportError: pass #ignore broken modules for module in modules: module.hello()由模块获取函数:
def getfunctionbyname(module_name,function_name): module = __import__(module_name) return getattr(module,function_name)
<span style="font-family: Arial, Helvetica, sans-serif;">import copy</span>
<span style="font-family: Arial, Helvetica, sans-serif;">import os</span>
import sysfrom importlib import import_moduledef import_string(dotted_path): """ Import a dotted module path and return the attribute/class designated by the last name in the path. Raise ImportError if the import failed. """ try: module_path, class_name = dotted_path.rsplit('.', 1) except ValueError: msg = "%s doesn't look like a module path" % dotted_path module = import_module(module_path) try: return getattr(module, class_name) except AttributeError: msg = 'Module "%s" does not define a "%s" attribute/class' % ( dotted_path, class_name)
函数实现延迟化的模块导入 :
class LazyImport:
def __init__(self,module_name):
self.module_name = module_name
self.module = None
def __getattr__(self,name):
if self.module is None:
self.module = __import__(self.module_name)
return getattr(self.module,name)
string = LazyImport("string")
print string.lowercase
eval()把list,tuple,dict和string相互转化:
ast.literal_eval
0 0
- Python内置函数__import__和eval用法
- Python内置函数---eval
- python exec 和 eval 函数的用法
- python内置函数repr()与eval()
- python中的eval函数和exec函数的用法
- python 动态导入 __import__()函数
- Python eval() 和 exec()函数
- python 基础 —— __import__() 函数
- Python内置函数及其用法
- python __import__
- Python标准库:内置函数__import__(name, globals=None, locals=None, fromlist=(), level=0)
- python exec函数和eval函数
- JavaScript脚本语言的内置函数 - eval、escape和unescape
- Freemarker内置函数和用法
- python eval()函数的妙用和滥用
- Python中的eval(),raw_input()和input()函数
- python内置函数sorted排序用法
- python内置函数sorted排序用法
- ACM2014亚洲区北京赛区 1001A Curious Matt
- linux下安装Numpy,scipy,matplotlib的安装
- WPF和Expression Blend开发实例:充分利用Blend实现一个探照灯的效果
- 【web++_第三阶_Ajax_Rest篇】Ajax 第一篇:基础解释和联系,附解释与Rest关系_4
- onblur()导致循环调用
- Python内置函数__import__和eval用法
- Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
- JVM内存管理-运行时数据
- 正则表达式 学习网站
- Factory Method模式讲解
- Bro Sorting(2014ACM/ICPC亚洲区北京站-K)
- 游戏引擎加入lua
- android之Fragment的bug解决
- C++中在子函数中动态分配内存