最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python自動導入包的實現

 更新時間:2023年04月07日 11:07:04   作者:阿福不是狗  
本文主要介紹了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])
            # 動態(tài)導入包,并獲取包內的具體模塊、屬性
            att_list.append(
                # 導入包中的某個屬性
                importlib.import_module(
                    # 拼接模塊路徑
                    f'{package}' + fileName[:-3]
                    # 獲取模塊中的對應屬性
                ).__dict__[fileName[:-interceptLength]])
    # 返回屬性列表
    return att_list

假如我們創(chuàng)建了多個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在數據庫中是否存在,不存在則創(chuàng)建
? ? for i in range(len(model_list)):
? ? ? ? model_list[i].metadata.create_all(connect)
? ? ? ? print(f"#### ? ? {model_list[i].__name__}校驗完成! ? ?####")

到此這篇關于python自動導入包的實現的文章就介紹到這了,更多相關python自動導入包內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python接口自動化使用requests庫發(fā)送http請求

    python接口自動化使用requests庫發(fā)送http請求

    這篇文章主要介紹了python接口自動化使用requests庫發(fā)送http請求,HTTP協(xié)議?,一個基于TCP/IP通信協(xié)議來傳遞數據,包括html文件、圖像、結果等,即是一個客戶端和服務器端請求和應答的標準
    2022-08-08
  • Python模擬鼠標點擊實現方法(將通過實例自動化模擬在360瀏覽器中自動搜索python)

    Python模擬鼠標點擊實現方法(將通過實例自動化模擬在360瀏覽器中自動搜索python)

    這篇文章主要介紹了Python模擬鼠標點擊實現方法(將通過實例自動化模擬在360瀏覽器中自動搜索python),需要的朋友可以參考下
    2017-08-08
  • Python實現Tracert追蹤TTL值的方法詳解

    Python實現Tracert追蹤TTL值的方法詳解

    Tracert命令跟蹤路由原理是IP路由每經過一個路由節(jié)點TTL值會減一。本文我們將通過scapy構造一個路由追蹤工具并實現一次追蹤,感興趣的小伙伴可以了解一下
    2022-10-10
  • keras做CNN的訓練誤差loss的下降操作

    keras做CNN的訓練誤差loss的下降操作

    這篇文章主要介紹了keras做CNN的訓練誤差loss的下降操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 詳解Python打包分發(fā)工具setuptools

    詳解Python打包分發(fā)工具setuptools

    這篇文章主要介紹了Python打包分發(fā)工具setuptools的相關知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Python 列表 sort()函數使用實例詳解

    Python 列表 sort()函數使用實例詳解

    這篇文章主要介紹了Python 列表 sort()函數使用詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Python設置在shell腳本中自動補全功能的方法

    Python設置在shell腳本中自動補全功能的方法

    今天小編就為大家分享一篇Python設置在shell腳本中自動補全功能的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 淺談Python traceback的優(yōu)雅處理

    淺談Python traceback的優(yōu)雅處理

    這篇文章主要介紹了淺談Python traceback的優(yōu)雅處理,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Python中JSON轉換的全面指南與最佳實踐

    Python中JSON轉換的全面指南與最佳實踐

    JSON是現代應用程序中最流行的數據交換格式之一,Python通過內置的json模塊提供了強大的JSON處理能力,本文將深入探討Python中的JSON轉換,包括基本用法、高級特性以及最佳實踐,需要的朋友可以參考下
    2025-03-03
  • 使用jupyter notebook運行python和R的步驟

    使用jupyter notebook運行python和R的步驟

    這篇文章主要介紹了使用jupyter notebook運行python和R的步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08

最新評論

濉溪县| 云阳县| 子洲县| 托克托县| 安顺市| 雷山县| 迭部县| 涿州市| 莲花县| 邻水| 房山区| 贵溪市| 鄂托克前旗| 乌鲁木齐县| 尖扎县| 莎车县| 米易县| 乐业县| 江西省| 怀柔区| 咸丰县| 文水县| 中牟县| 佛坪县| 南乐县| 张家港市| 遂昌县| 永兴县| 阿鲁科尔沁旗| 孟连| 辽源市| 开远市| 深水埗区| 新巴尔虎左旗| 璧山县| 皋兰县| 怀宁县| 安陆市| 板桥市| 鹿泉市| 顺平县|