当前位置: 首页 > news >正文

Python 动态导入库

Python 动态导入库

从一个文件夹下遍历所有.py文件,并利用__Import__()函数实现全局导入

例程

import os  # 导入操作系统接口模块
import sys  # 导入系统模块# 将当前目录下的 DIR 目录添加到系统路径中,以便后续导入模块
sys.path.append('./DIR')# 定义一个函数,从指定的模块中导入所有不以下划线开头的属性
def import_all_from_module(module_name, fromlist):# 动态导入指定的模块,并获取模块对象module = __import__(module_name, fromlist=fromlist)# 遍历模块中的所有属性for attribute in dir(module):# 如果属性名不以下划线开头if not attribute.startswith('_'):# 将该属性添加到全局命名空间中globals()[attribute] = getattr(module, attribute)# 定义要导入模块的目录路径
directory_path = "./DIR"
# 获取目录下所有以 .py 结尾且不等于 __init__.py 的文件名,并去掉文件扩展名
module_files = [f[:-3] for f in os.listdir(directory_path) if f.endswith(".py") and f != "__init__.py"]# 遍历所有模块文件名
for f in module_files:# 从每个模块文件中导入所有属性import_all_from_module(f, fromlist=['*'])

关于 import() 函数

__import__("numpy")

并不会起到类似 import numpy 的作用,运行后仍然会报 " no module named numpy "

正确用法:

np = __import__("numpy")print(np.pi)

此种方式类似:

import numpy as np

如果需要类似如下代码的功能,则需参考文章开头的例程:

from numpy import *
http://www.lryc.cn/news/364020.html

相关文章:

  • 【WP|8】深入解析WordPress钩子函数
  • Java集合简略记录
  • 能获取淘宝商品简化链接的浏览器书签
  • JMeter Plugins Manager---插件安装
  • docker-compose入门级实战教程
  • MATLAB sort
  • AB测试实战
  • Java高级面试精粹:问题与解答集锦(六)
  • MySQL之数据库数据库范式学习笔记(二)
  • 【Qt】 new成功,但是没有进入到构造函数。
  • 高清多媒体接口(High Definition Multimedia Interface, HDMI)
  • Spring AI 第二讲 之 Chat Model API 第五节HuggingFace Chat
  • 【笔记】Sturctured Streaming笔记总结(Python版)
  • Python函数进阶
  • [知识点]c++ delete与delete[ ]
  • iCloud如何被高效利用?
  • 月入30000的软件测试人员,简历是什么样子的?
  • nginx官网源代码方式安装nginx并编译
  • iOS ActivityViewController使用
  • 新手快速上手IDEA【常用快捷键】
  • MySQL里如果有字段是function怎么查询呢?
  • 从高海拔到严寒季的测量作业更要「快准稳」,怎么实现?
  • WowTab:简洁界面,效率神器,重塑新标签页浏览体验
  • PostgreSQL 17 Beta1 发布,酷克数据再次贡献核心力量
  • CDH服务红,查看日志发现host有问题
  • 数据分析------统计学知识点(三)
  • MySQL 导出一条数据的插入语句
  • 隐藏 IP 地址的重要性是什么?
  • Oracle 19c linux安装
  • AI音乐生成流程