`
david_je
  • 浏览: 372038 次
  • 性别: 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函数文档_python函数_python文档_python_

    在Python中,有许多内置函数,如 `print()` 用于输出文本,`len()` 计算序列的长度,`type()` 查看对象类型等。此外,Python还有许多强大的第三方库,如 NumPy 用于数值计算,Pandas 用于数据处理,Matplotlib 和 ...

    Python内置函数——__import__ 的使用方法

    ### Python 内置函数——`__import__`的使用方法 在Python编程中,`__import__`是一个非常特殊的内置函数,它允许开发者通过运行时动态地加载和使用其他模块。这种灵活性对于实现某些高级特性(如插件系统、动态...

    code_python故障诊断_python故障_fault_故障诊断_python_

    2. 调试工具:Python内置了pdb模块,这是一个强大的交互式源代码调试器。通过设置断点、单步执行、查看变量值等功能,可以帮助开发者定位和解决问题。例如: ```python import pdb def problematic_function(): #...

    python变量及对象介绍.rar_python_python数学函数_whetherot5_wolfhm5

    总的来说,这个压缩包的资料涵盖了Python编程的基础,包括变量和对象的概念,以及如何使用内置的数学函数进行计算。了解这些内容对于初学者掌握Python编程至关重要,同时也是进一步学习Python高级特性和开发实践的...

    PYTHON_TRAIN_Pythontrain_pythontrain()_python简单练习_pythontrain_tr

    在Python中,我们可以使用内置的`import`语句来引入其他模块或脚本。这在我们需要使用外部函数、类或者数据时非常有用。例如,如果你想从一个名为“my_module.py”的文件中导入一个名为“my_function”的函数,你...

    Day31-40_python100_python_40_

    10. **Python标准库的使用**:学习并熟悉Python内置的标准库,如os、sys、time、re、json等,它们提供了丰富的功能,能大大提高开发效率。 11. **实战项目**:在这一阶段,可能还会涉及到实际项目练习,如数据分析...

    SVM_svmpython_PYTHON案例_python_SVM_

    这里可以使用`sklearn`内置的如iris、digits等数据集,或者自行导入数据。假设我们使用iris数据集。 ```python iris = datasets.load_iris() X = iris.data[:, :2] # 只取前两个特征进行二维分类 y = iris.target ...

    python_sitka_weather_07-2014.csv

    在Python中,我们可以使用内置的`csv`模块或者`pandas`库来读取、处理这类文件。`pandas`库是Python数据分析的主力工具,它提供了一种高效且易用的方式来操作和分析数据。 描述中提到的"python_sitka_weather_07-...

    Python.zip_python_python 实例_python 教程_python实例_python教程

    Python内置了许多函数,比如print()用于打印输出,len()用于获取对象的长度。同时,你还可以定义自己的函数,通过def关键字来实现。 面向对象编程(OOP)在Python中占据重要地位。类是创建对象的模板,对象是程序中...

    Python学习手册_第3版.pdf.zip

    11. **标准库**:介绍Python内置的常用库,如os、sys、math、datetime和random,以及如何使用这些库来扩展功能。 12. **高级话题**:涵盖生成器、迭代器、上下文管理器、装饰器、闭包以及元类等Python的高级特性。 ...

    Python内置函数示例(3)

    本篇将详细介绍`Python内置函数示例(3)`中涵盖的一些关键函数,包括它们的用途、用法和实例。 1. `len()`: 这个函数用于计算序列或集合的长度,如列表、元组、字符串等。例如,`len("Hello")`将返回5,因为"Hello...

    python生成日历_chestou4_temperaturev5w_Python生成日历_

    Python标准库中有一个内置模块`calendar`,它提供了多种与日历相关的功能,包括生成文本格式的日历、打印月份和年份、获取特定日期的信息等。下面我们将详细探讨如何使用`calendar`模块来生成日历,并结合输入的年月...

    Thinking_In_Python.pdf_python_thinkinginpython_

    - **标准库**:介绍Python内置的一些实用库,如`os`、`sys`、`datetime`等。 - **第三方库**:如Numpy、Pandas、Matplotlib等用于科学计算和数据可视化的库。 7. **实战项目**: - **数据处理**:如何使用Python...

    python csv拆分_workgy8_文件拆分_python_

    要实现这个功能,我们可以利用Python的内置模块`csv`和`os`。下面是一个详细的步骤和示例代码: 1. **导入所需模块**: 首先,我们需要导入`csv`模块来读取和写入CSV文件,以及`os`模块来处理文件路径。 ```...

    python_python_

    5. **模块和导入**:Python有丰富的内置模块,如math、os和sys,用户也可以自定义模块,通过import语句引入。 6. **列表、元组、字典和集合**:这些是Python的内置数据结构,列表是有序可变序列,元组是有序不可变...

    详解python中__name__的意义以及作用

    首先,__name__是一个内置的系统变量,它用于指代模块的名称。在Python中,每个模块都可以被视为一个独立的代码单元。当你直接运行一个Python模块文件时,该模块文件中位于__name__ == '__main__':条件判断语句块内...

    python_c__api.pdf

    - `PyImport_ImportModule`函数用于动态导入Python模块。 - C API还提供了更底层的导入机制,如解析`.pyc`文件和处理导入路径。 9. **内置函数和全局变量**: - C API允许访问和操作Python的内置函数和全局变量...

Global site tag (gtag.js) - Google Analytics