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

Python解析CDD文件的代碼詳解

 更新時間:2022年05月20日 10:18:14   作者:螞蟻小兵  
這篇文章主要介紹了Python解析CDD文件的方法,使用Python 腳本解析CDD文件,統(tǒng)一定義,一鍵生成,十分快捷,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

前言

在實際診斷測試開發(fā)中,我們寫測試腳本會用到CDD文件中的診斷,常規(guī)做法可能是用到哪個就定義哪個,這樣做的弊端是有可能造成重復(fù)定義,或者整個工程中有不同的變量名,較為好的方式是頭文件中統(tǒng)一定義,如果人去單獨定義的話,CDD中診斷有比較多,浪費時間,所以基于這個需求,我想到了可以用Python 腳本解析CDD文件,統(tǒng)一定義,一鍵生成,十分快捷。
測試軟硬件環(huán)境:
Win10 X64
Python 3.8
PyQt5 5.16.5

基本介紹

1. 如下圖是工具的界面,輸入是cdd 文件,輸出 是 bwm_test_DiagRequest_Variables.cin,這個頭文件可以直接放在工程里,這樣用到哪個診斷就可以直接使用了,無需重復(fù)定義或者單獨定義

2.代碼簡單介紹

  • ParseCdd_Main.py 是主函數(shù)所在文件
  • cdd.py 是解析cdd文件的邏輯處理文件
  • parsecdd.py 是 QtDesigner 生成的UI文件

3?? cdd文件結(jié)構(gòu)分析

  • 打開cdd文件,看到是xml格式的,這就好辦了,那就一定能夠找到它的組成結(jié)構(gòu)的,找到后直接用lxml 庫去解析
  • 核心代碼就這一行 ,可以字節(jié)跟著這個繼承關(guān)系去找找看
  • ecu = cddXML.xpath("//VAR//DIAGINST//SERVICE//SHORTCUTNAME/TUV/text()")

da

 def parseCdd(self,filename):
        cddXML = etree.parse(filename)
        if cddXML:
            ecu = cddXML.xpath("http://VAR//DIAGINST//SERVICE//SHORTCUTNAME/TUV/text()")
            if ecu:
                self.diagCan = ''
                for i in ecu:
                    temp = i.replace("/","_").replace("#","_").replace(": ","_").replace(":","_").replace("  ","_").replace(" - ","_").replace("-","_").replace(" ","_")
                    self.diagCan = self.diagCan + "\n" + "diagRequest    " + temp +"    req_" + temp + ";"
                self.diagCan = "variables\n{\n%s\n}"%self.diagCan
                print(self.diagCan)
                newFile = os.path.splitext(filename)[0] + '_DiagRequest_Variables.cin'
                with open(newFile,'w') as f:
                    f.write(self.diagCan)
            else:
                print("parse cdd file failed!")
        else:
            print("parse file failed!")

本節(jié)測試使用源碼放在Git上了,有需自取

https://github.com/yiyuchenguang/CANoeAbout.git

到此這篇關(guān)于Python解析CDD文件的文章就介紹到這了,更多相關(guān)Python解析CDD文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python獲取整個網(wǎng)頁源碼的方法

    python獲取整個網(wǎng)頁源碼的方法

    在本篇文章里小編給大家整理的是關(guān)于python獲取整個網(wǎng)頁源碼的方法,需要的朋友們可以參考下。
    2020-08-08
  • python繼承threading.Thread實現(xiàn)有返回值的子類實例

    python繼承threading.Thread實現(xiàn)有返回值的子類實例

    這篇文章主要介紹了python繼承threading.Thread實現(xiàn)有返回值的子類實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python實現(xiàn)給文件添加內(nèi)容及得到文件信息的方法

    Python實現(xiàn)給文件添加內(nèi)容及得到文件信息的方法

    這篇文章主要介紹了Python實現(xiàn)給文件添加內(nèi)容及得到文件信息的方法,可實現(xiàn)從文件開頭添加內(nèi)容的功能,需要的朋友可以參考下
    2015-05-05
  • Python 使用 Redis 作為緩存的操作方法

    Python 使用 Redis 作為緩存的操作方法

    在現(xiàn)代Web應(yīng)用和數(shù)據(jù)密集型服務(wù)中,使用Redis作為緩存可以提升性能和響應(yīng)速度,Redis是一個高性能的內(nèi)存中數(shù)據(jù)結(jié)構(gòu)存儲系統(tǒng),支持多種數(shù)據(jù)結(jié)構(gòu)如字符串、哈希、列表等,并提供持久性和分布式支持,本文給大家介紹Python 使用 Redis 作為緩存的操作方法,感興趣的朋友一起看看吧
    2024-10-10
  • yolov5中head修改為decouple?head詳解

    yolov5中head修改為decouple?head詳解

    現(xiàn)成的YOLOv5代碼真的很香,不管口碑怎么樣,我用著反正是挺爽的,下面這篇文章主要給大家介紹了關(guān)于yolov5中head修改為decouple?head的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Python中scatter函數(shù)參數(shù)及用法詳解

    Python中scatter函數(shù)參數(shù)及用法詳解

    這篇文章主要介紹了Python中scatter函數(shù)參數(shù)及用法詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 整理Python中常用的conda命令操作

    整理Python中常用的conda命令操作

    今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著Python中常用的conda命令行操作展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 對Python協(xié)程之異步同步的區(qū)別詳解

    對Python協(xié)程之異步同步的區(qū)別詳解

    今天小編就為大家分享一篇對Python協(xié)程之異步同步的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • 簡單了解python的一些位運算技巧

    簡單了解python的一些位運算技巧

    這篇文章主要介紹了簡單了解python的一些位運算技巧,位運算的性能大家想必是清楚的,效率絕對高。相信愛好源碼的同學(xué),在學(xué)習(xí)閱讀源碼的過程中會發(fā)現(xiàn)不少源碼使用了位運算,需要的朋友可以參考下
    2019-07-07
  • 用python爬取分析淘寶商品信息詳解技術(shù)篇

    用python爬取分析淘寶商品信息詳解技術(shù)篇

    這篇文章主要介紹了用python爬取分析淘寶商品信息的技術(shù),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08

最新評論

华宁县| 玉龙| 延庆县| 陆丰市| 黎平县| 潼南县| 贵港市| 武宣县| 武城县| 获嘉县| 上杭县| 依安县| 鸡泽县| 青河县| 新竹市| 潞西市| 焉耆| 重庆市| 靖宇县| 靖宇县| 凭祥市| 孟连| 道孚县| 新竹市| 景谷| 阿克| 沙河市| 句容市| 南部县| 凉山| 永川市| 特克斯县| 清原| 灌南县| 绥宁县| 瑞丽市| 长葛市| 静安区| 厦门市| 兴业县| 湖口县|