我们知道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中,有许多内置函数,如 `print()` 用于输出文本,`len()` 计算序列的长度,`type()` 查看对象类型等。此外,Python还有许多强大的第三方库,如 NumPy 用于数值计算,Pandas 用于数据处理,Matplotlib 和 ...
### Python 内置函数——`__import__`的使用方法 在Python编程中,`__import__`是一个非常特殊的内置函数,它允许开发者通过运行时动态地加载和使用其他模块。这种灵活性对于实现某些高级特性(如插件系统、动态...
2. 调试工具:Python内置了pdb模块,这是一个强大的交互式源代码调试器。通过设置断点、单步执行、查看变量值等功能,可以帮助开发者定位和解决问题。例如: ```python import pdb def problematic_function(): #...
总的来说,这个压缩包的资料涵盖了Python编程的基础,包括变量和对象的概念,以及如何使用内置的数学函数进行计算。了解这些内容对于初学者掌握Python编程至关重要,同时也是进一步学习Python高级特性和开发实践的...
在Python中,我们可以使用内置的`import`语句来引入其他模块或脚本。这在我们需要使用外部函数、类或者数据时非常有用。例如,如果你想从一个名为“my_module.py”的文件中导入一个名为“my_function”的函数,你...
10. **Python标准库的使用**:学习并熟悉Python内置的标准库,如os、sys、time、re、json等,它们提供了丰富的功能,能大大提高开发效率。 11. **实战项目**:在这一阶段,可能还会涉及到实际项目练习,如数据分析...
这里可以使用`sklearn`内置的如iris、digits等数据集,或者自行导入数据。假设我们使用iris数据集。 ```python iris = datasets.load_iris() X = iris.data[:, :2] # 只取前两个特征进行二维分类 y = iris.target ...
在Python中,我们可以使用内置的`csv`模块或者`pandas`库来读取、处理这类文件。`pandas`库是Python数据分析的主力工具,它提供了一种高效且易用的方式来操作和分析数据。 描述中提到的"python_sitka_weather_07-...
首先,Python小游戏通常会基于其内置的`pygame`库,这是一个用于开发2D游戏的开源模块。`pygame`提供了丰富的功能,包括窗口管理、事件处理、图形绘制、音频播放等,使得构建游戏变得更加便捷。 1. **初始化Pygame*...
Python内置了许多函数,比如print()用于打印输出,len()用于获取对象的长度。同时,你还可以定义自己的函数,通过def关键字来实现。 面向对象编程(OOP)在Python中占据重要地位。类是创建对象的模板,对象是程序中...
11. **标准库**:介绍Python内置的常用库,如os、sys、math、datetime和random,以及如何使用这些库来扩展功能。 12. **高级话题**:涵盖生成器、迭代器、上下文管理器、装饰器、闭包以及元类等Python的高级特性。 ...
本篇将详细介绍`Python内置函数示例(3)`中涵盖的一些关键函数,包括它们的用途、用法和实例。 1. `len()`: 这个函数用于计算序列或集合的长度,如列表、元组、字符串等。例如,`len("Hello")`将返回5,因为"Hello...
Python标准库中有一个内置模块`calendar`,它提供了多种与日历相关的功能,包括生成文本格式的日历、打印月份和年份、获取特定日期的信息等。下面我们将详细探讨如何使用`calendar`模块来生成日历,并结合输入的年月...
- **标准库**:介绍Python内置的一些实用库,如`os`、`sys`、`datetime`等。 - **第三方库**:如Numpy、Pandas、Matplotlib等用于科学计算和数据可视化的库。 7. **实战项目**: - **数据处理**:如何使用Python...
要实现这个功能,我们可以利用Python的内置模块`csv`和`os`。下面是一个详细的步骤和示例代码: 1. **导入所需模块**: 首先,我们需要导入`csv`模块来读取和写入CSV文件,以及`os`模块来处理文件路径。 ```...
首先,__name__是一个内置的系统变量,它用于指代模块的名称。在Python中,每个模块都可以被视为一个独立的代码单元。当你直接运行一个Python模块文件时,该模块文件中位于__name__ == '__main__':条件判断语句块内...
- `PyImport_ImportModule`函数用于动态导入Python模块。 - C API还提供了更底层的导入机制,如解析`.pyc`文件和处理导入路径。 9. **内置函数和全局变量**: - C API允许访问和操作Python的内置函数和全局变量...