python自动导入包如何实现 | 您所在的位置:网站首页 › pycharm怎么引入docx › python自动导入包如何实现 |
python自动导入包如何实现
发布时间:2023-04-07 17:18:52
来源:亿速云
阅读:65
作者:iii
栏目:开发技术
这篇“python自动导入包如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python自动导入包如何实现”文章吧。 问题描述: 代码编写过程中,需要引入文件,但是引入的文件随着项目的变大会变多,所以编写了一个自动导入的方法,会根据文件名称的特点进行导入。 def auto_import(packagePath: str, fileTag: str, interceptLength: int, level=1): """ 自动导入函数,导入具有某个标识的文件 :param packagePath: 当前包路径 :param level: 软件包层级 :param fileTag:文件名称标识 :param interceptLength:导入属性截取名称 :return: """ # 定义导入属性列表和包 att_list = [] # 获取对应的包层级 rank = level package = '' for i in range(level): # 获取父级包名称拼接包名称 package += packagePath.split('\\')[-rank] + '.' rank -= 1 # 遍历当前包下的所有文件 for fileName in os.listdir(packagePath): # 筛选出nameTag的文件进行导入 if fileTag in fileName: print(f'导入包名称:{package}' + fileName[:-3]) # 动态导入包,并获取包内的具体模块、属性 att_list.append( # 导入包中的某个属性 importlib.import_module( # 拼接模块路径 f'{package}' + fileName[:-3] # 获取模块中的对应属性 ).__dict__[fileName[:-interceptLength]]) # 返回属性列表 return att_list假如我们创建了多个TableModel文件,需要校验对应的文件是否在数据库中存在,那么我们就可以这么用: import os import auto_import def auto_check_model(): """ 导入tableModel中的所有文件,验证数据库中表是否存在 :return: 返回验证结果 """ # 获取当前文件夹路径 packagePath = os.path.dirname(os.path.realpath(__file__)) # 获取所有model文件 model_list = auto_import(packagePath=packagePath, fileTag='Model', interceptLength=8, level=2) # 建立数据库连接 connect = DatabaseOperation().connect() # 检查model在数据库中是否存在,不存在则创建 for i in range(len(model_list)): model_list[i].metadata.create_all(connect) print(f"#### {model_list[i].__name__}校验完成! ####")以上就是关于“python自动导入包如何实现”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。 推荐阅读: 怎么在python中将字典转换成json 利用python怎么将字典按照value进行排序免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。 python 上一篇新闻:Spring注解@Configuration和@Component区别是什么 下一篇新闻:Java BasePooledObjectFactory对象池化技术如何使用 猜你喜欢 php中怎么解析url 如何使用php伪造referer的方法防止图片盗链 php如何实现多线程 怎么在linux系统中p安装mbstring扩展 php中怎么共享内存段 怎么在php项目中利用base64进行加密解密 怎么用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境 php怎么实现可以设置中奖概率的抽奖程序 使用php怎么根据身份证计算年龄 启动php时出现报错怎么解决 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |