`
david_je
  • 浏览: 369454 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Python 的内置函数__import__

 
阅读更多
    我们知道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__ 的使用方法

    本篇文章主要介绍了Python内置函数——__import__ 的使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Python:内置函数

    __import__() abs() all() any() ascii() bin() bool() bytearray() bytes() callable() chr() classmethod() compile() complex() delattr() dict() dir() divmod() enumerate() eval() exec(&...

    python的scanf函数.docx

    python的scanf函数 Python是一种高级编程语言,它提供了许多内置函数来帮助开发人员更轻松地编写代码。其中一个非常有用的函数是scanf函数,它可以帮助我们从标准输入中读取数据。 scanf函数是C语言中的一个非常常用...

    浅谈使用Python内置函数getattr实现分发模式

    本文研究的主要是使用Python内置函数getattr实现分发模式的相关问题,具体介绍如下。 getattr 常见的使用模式是作为一个分发者。举个例子,如果你有一个程序可以以不同的格式输出数据,你可以为每种输出格式定义各自...

    Python3入门指南_v2.4.pdf

    9.3 Python内置的open函数 131 9.4 操作文件常用的方法 133 9.5 调用操作系统提供的接口函数操作文件 140 9.6 os.path模块常见函数用法 144 9.7 fnmatch模块:用于文件名的匹配 145 9.8 tempfile模块: 生成临时文件...

    Python实现动态加载模块、类、函数的方法分析

    首先,使用加载模块,使用内置函数提供的反射方法getattr(),依次按照层级获取模块->类\全局方法->类对象\类方法。 test_import_module.py class ClassA: def test(self): print('test') int_value = 1 str_...

    permute-python用法.docx

    permute python用法 Python是一种高级编程语言,它提供了许多内置函数和库,其中之一就是permute函数。permute函数是Python中的一个内置函数,它可以用于对列表或元组进行排列组合操作。在本文中,我们将介绍permute...

    深入理解Python3 内置函数大全

    本文主要介绍了Python3 内置函数,分享给大家,具体如下: 内置函数 以下代码以Python3.6.1为例 #coding=utf-8 # builtin_function.py 内置函数 import os def fun(): all([True, False]) # 迭代器(为空or)所有...

    Python基础教程之内置函数locals()和globals()用法分析

    本文实例讲述了Python基础教程之内置函数locals()和globals()用法。分享给大家供大家参考,具体如下: 1. 这两个函数主要提供,基于字典的访问局部变量和全局变量的方式。 python 使用叫做名字空间的东西来记录变量...

    Python 目录操作

    说明:os模块是Python内置的与操作系统功能和文件系统相关的模块。该语句中的语句的执行结果通常与操作系统有关,在不同操作系统上运行,可能会得到不一样的结果。 1.os和os.path模块 在Python中,内置了os模块及其...

    Python help()函数用法详解

    help函数是python的一个内置函数(python的内置函数可以直接调用,无需import),它是python自带的函数,任何时候都可以被使用。help函数能作什么、怎么使用help函数查看python模块中函数的用法,和使用help函数时...

    python删除文件的函数.docx

    python删除文件的函数 Python是一种高级编程语言,它提供了许多内置函数和模块,可以轻松地完成各种任务。其中之一就是删除文件。在本文中,我们将介绍如何使用Python删除文件的函数。 Python中删除文件的函数是os....

    Python 编程基础:深度解析

    然而,还有一个鲜为人知的小技巧:Python 内置了一个 __hello__ 模块,导入后会自动打印出 “Hello world!”: import __hello__ 虽然这不是标准的输出方式,却是一个有趣的彩蛋。 Python 版本 确认 Python 版本的...

    PYTHON常用字符串处理函数.txt

    PYTHON常用字符串处理函数 在历史上string类在python中经历了一段轮回的历史。在最开始的时候,python...因为len()是内置函数,包括在__builtin__模块中。python不把len()包含在string类型中,乍看起来好像有点不可理解

    关于Python tkinter库filedialog中四个最有用的函数(一)

    tkinter是python默认的GUI库,它是python的内置库不需要安装。而filedialog是文件对话框,在程序运行该过程中,当你需要手动选择文件或手动选择文件存储路径时,就需要用到tkinter库中filedialog提供的函数。 1、...

    Python import与from import使用及区别介绍

    Python本身也内置一组模块(即标准库)。每个模块都是一个Python程序,且包含了一组相关的函数,可以嵌入到你的程序之中,比如,math模块包含了数学运算相关的函数,random模块包含随机数相关的函数,等等。 一、...

    PYTHON3——4种方法(dir(),help(),inspect,__code__)!了解模块、类、方法、内置函数、代码块等详情!重点:参数信息

    python当中内置了许多内置函数,类方法属性以及各种模块,当想要了解模块中有什么函数和类,类中有什么属性方法以及该如何使用时,可以使用dir()和help()以及inspect模块和__code__来帮助我们了解详情 目录如下 dir...

    Python常用base64 md5 aes des crc32加密解密方法汇总

    Python内置的base64模块可以实现base64、base32、base16、base85、urlsafe_base64的编码解码,python 3.x通常输入输出都是二进制形式,2.x可以是字符串形式。 base64模块的base64编码、解码调用了binascii模块,...

    Python内置random模块生成随机数的方法

    Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入random模块。 import random 下面介绍下Python内置的random模块的几种生成随机数的方法。 1、random.random()随机生成 0 到 1 之间的浮点数...

Global site tag (gtag.js) - Google Analytics