我们知道import语句是用来导入外部模块的,当然还有from...import...也可以,但是其实import实际上是使用builtin函数__import__来工作的。
在一些程序中,我们可以动态地去调用函数,如果我们知道模块的名称(字符串)的时候,我们可以很方便的使用动态调用。
import glob,os
modules = []
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
#say hello to all modules
for module in modules:
module.hello()
使用__import__函数获得特定函数
def getfunctionbyname(module_name,function_name):
module = __import__(module_name)
return getattr(module,function_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
分享到:
相关推荐
本篇文章主要介绍了Python内置函数——__import__ 的使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
__import__() abs() all() any() ascii() bin() bool() bytearray() bytes() callable() chr() classmethod() compile() complex() delattr() dict() dir() divmod() enumerate() eval() exec(&...
python的scanf函数 Python是一种高级编程语言,它提供了许多内置函数来帮助开发人员更轻松地编写代码。其中一个非常有用的函数是scanf函数,它可以帮助我们从标准输入中读取数据。 scanf函数是C语言中的一个非常常用...
本文研究的主要是使用Python内置函数getattr实现分发模式的相关问题,具体介绍如下。 getattr 常见的使用模式是作为一个分发者。举个例子,如果你有一个程序可以以不同的格式输出数据,你可以为每种输出格式定义各自...
9.3 Python内置的open函数 131 9.4 操作文件常用的方法 133 9.5 调用操作系统提供的接口函数操作文件 140 9.6 os.path模块常见函数用法 144 9.7 fnmatch模块:用于文件名的匹配 145 9.8 tempfile模块: 生成临时文件...
首先,使用加载模块,使用内置函数提供的反射方法getattr(),依次按照层级获取模块->类\全局方法->类对象\类方法。 test_import_module.py class ClassA: def test(self): print('test') int_value = 1 str_...
permute python用法 Python是一种高级编程语言,它提供了许多内置函数和库,其中之一就是permute函数。permute函数是Python中的一个内置函数,它可以用于对列表或元组进行排列组合操作。在本文中,我们将介绍permute...
本文主要介绍了Python3 内置函数,分享给大家,具体如下: 内置函数 以下代码以Python3.6.1为例 #coding=utf-8 # builtin_function.py 内置函数 import os def fun(): all([True, False]) # 迭代器(为空or)所有...
本文实例讲述了Python基础教程之内置函数locals()和globals()用法。分享给大家供大家参考,具体如下: 1. 这两个函数主要提供,基于字典的访问局部变量和全局变量的方式。 python 使用叫做名字空间的东西来记录变量...
说明:os模块是Python内置的与操作系统功能和文件系统相关的模块。该语句中的语句的执行结果通常与操作系统有关,在不同操作系统上运行,可能会得到不一样的结果。 1.os和os.path模块 在Python中,内置了os模块及其...
help函数是python的一个内置函数(python的内置函数可以直接调用,无需import),它是python自带的函数,任何时候都可以被使用。help函数能作什么、怎么使用help函数查看python模块中函数的用法,和使用help函数时...
python删除文件的函数 Python是一种高级编程语言,它提供了许多内置函数和模块,可以轻松地完成各种任务。其中之一就是删除文件。在本文中,我们将介绍如何使用Python删除文件的函数。 Python中删除文件的函数是os....
然而,还有一个鲜为人知的小技巧:Python 内置了一个 __hello__ 模块,导入后会自动打印出 “Hello world!”: import __hello__ 虽然这不是标准的输出方式,却是一个有趣的彩蛋。 Python 版本 确认 Python 版本的...
PYTHON常用字符串处理函数 在历史上string类在python中经历了一段轮回的历史。在最开始的时候,python...因为len()是内置函数,包括在__builtin__模块中。python不把len()包含在string类型中,乍看起来好像有点不可理解
tkinter是python默认的GUI库,它是python的内置库不需要安装。而filedialog是文件对话框,在程序运行该过程中,当你需要手动选择文件或手动选择文件存储路径时,就需要用到tkinter库中filedialog提供的函数。 1、...
Python本身也内置一组模块(即标准库)。每个模块都是一个Python程序,且包含了一组相关的函数,可以嵌入到你的程序之中,比如,math模块包含了数学运算相关的函数,random模块包含随机数相关的函数,等等。 一、...
python当中内置了许多内置函数,类方法属性以及各种模块,当想要了解模块中有什么函数和类,类中有什么属性方法以及该如何使用时,可以使用dir()和help()以及inspect模块和__code__来帮助我们了解详情 目录如下 dir...
Python内置的base64模块可以实现base64、base32、base16、base85、urlsafe_base64的编码解码,python 3.x通常输入输出都是二进制形式,2.x可以是字符串形式。 base64模块的base64编码、解码调用了binascii模块,...
Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入random模块。 import random 下面介绍下Python内置的random模块的几种生成随机数的方法。 1、random.random()随机生成 0 到 1 之间的浮点数...