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

Python基于正則表達式實現(xiàn)檢查文件內容的方法【文件檢索】

 更新時間:2017年08月30日 09:31:00   作者:ykdsg  
這篇文章主要介紹了Python基于正則表達式實現(xiàn)檢查文件內容的方法,可實現(xiàn)針對文件中import強制依賴的文件關系檢索,涉及Python文件目錄的遍歷及正則匹配相關操作技巧,需要的朋友可以參考下

本文實例講述了Python基于正則表達式實現(xiàn)檢查文件內容的方法分享給大家供大家參考,具體如下:

這個是之前就在學python,欣賞python的小巧但是功能強大,是連電池都自帶的語言。平時工作中用Java ,覺得python在日常生活中比java用處要大,首先語法沒那么復雜,特別是io的操作,java里要寫一大坨沒關的代碼。還有就是不用編譯,而且linux系統(tǒng)默認都會自帶。

這次遇到的問題是工作當中想要遷移一個系統(tǒng)中的一個模塊,這個時候需要評估模塊里的代碼有沒有對其他代碼強依賴,就是有沒有import 其他模塊的代碼。如果通過人肉來坐,少量的文件還好,如果有大量的文件實在是很悲劇。這個時候就想起可以用pytho來檢索文件,通過正則表達式分析文件內容,把有問題的文件名打印出來就可以了。

import os
import os.path
import re
packDir='/**/src/main/java/com/hz/yk/auction'
p1=re.compile(r"yk\.((?!auction)\w)+\b")
p2=re.compile(r"yk\.((?!domain)\w)+\b")
p3=re.compile(r"yk\.((?!utils)\w)+\b")
def processDirectory(args,dirname,filenames):
  # print 'Directory',dirname
  for filename in filenames:
    if os.path.splitext(filename)[1]=='.java':
      # print 'file',filename
      fileObj=open(dirname+ "/"+filename)
      hasOther=False
      for line in fileObj:
        if p1.search(line) and p2.search(line) and p3.search(line):
          hasOther=True
          print line
      if hasOther:
        print 'file:',filename
def search():
  os.path.walk(packDir,processDirectory,None)
if __name__ == '__main__':
  search()

因為希望看到應用其他模塊的代碼,所以排除掉自己的模塊名auction和公共的應用domain,utils 。對剩下的符合條件的打印出import這句和文件名sikuli

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關于Python相關內容可查看本站專題:《Python正則表達式用法總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Python中的pip命令安裝與使用輕松入門教程

    Python中的pip命令安裝與使用輕松入門教程

    pip是Python的包管理工具,用于安裝、卸載和管理第三方庫,本文詳細介紹了pip的安裝和使用方法,包括檢查pip是否已安裝、手動安裝或升級pip以及pip的基本使用,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-11-11
  • python 讀取文本文件的行數據,文件.splitlines()的方法

    python 讀取文本文件的行數據,文件.splitlines()的方法

    今天小編就為大家分享一篇python 讀取文本文件的行數據,文件.splitlines()的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python如何使用socketserver模塊實現(xiàn)并發(fā)聊天

    python如何使用socketserver模塊實現(xiàn)并發(fā)聊天

    這篇文章主要介紹了python如何使用socketserver模塊實現(xiàn)并發(fā)聊天,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Matplotlib繪制子圖的常見幾種方法

    Matplotlib繪制子圖的常見幾種方法

    Matplotlib的可以把很多張圖畫到一個顯示界面,在作對比分析的時候非常有用。本文就介紹了幾種方法,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • Python eval函數的實現(xiàn)

    Python eval函數的實現(xiàn)

    這篇文章主要介紹了Python eval函數的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Python中l(wèi)ambda表達式的使用詳解(完整通透版)

    Python中l(wèi)ambda表達式的使用詳解(完整通透版)

    這篇文章主要介紹了Python中l(wèi)ambda表達式使用的相關資料,包括其基本語法、常見應用場景(如排序、map、filter、reduce函數結合使用)以及如何在函數內部或一次性使用,通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-12-12
  • Django渲染Markdown文章目錄的方法示例

    Django渲染Markdown文章目錄的方法示例

    這篇文章主要介紹了Django渲染Markdown文章目錄的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • python 默認參數相關知識詳解

    python 默認參數相關知識詳解

    這篇文章主要介紹了python 默認參數相關知識詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Python+Matplotlib繪制雙y軸圖像的示例代碼

    Python+Matplotlib繪制雙y軸圖像的示例代碼

    這篇文章主要介紹了如何利用python的matplotlib繪制雙Y軸圖像,文中有非常詳細的代碼示例,對正在學習python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2022-04-04
  • 關于Python常用函數中NumPy的使用

    關于Python常用函數中NumPy的使用

    這篇文章主要介紹了關于Python常用函數中NumPy的使用,在Python中有很多常用的函數,NumPy就是其中之一,那么NumPy該怎么使用,下面就一起來看看吧
    2023-03-03

最新評論

阳西县| 泰来县| 阿尔山市| 铁岭县| 阜新市| 陆川县| 商洛市| 苏尼特左旗| 台中县| 南部县| 张家界市| 云南省| 吉首市| 方城县| 南平市| 龙胜| 台北市| 临沭县| 张北县| 蓬莱市| 石棉县| 通辽市| 丘北县| 三门县| 桂林市| 青铜峡市| 曲麻莱县| 神农架林区| 房产| 大新县| 疏附县| 湖北省| 深圳市| 成武县| 灵台县| 临清市| 英山县| 扎囊县| 长岛县| 通州市| 利川市|