python 讀取文件夾中的文件內容


 看thinking in java的時候發現有個題的答案不確定結果, 於是下載答案看下,結果是

  這個樣子的,這樣要怎么才能找到相對應的答案?於是我就着手寫了一個快速遍歷的腳本(我這里只是單純的找了出來, 沒有把找到的文件單獨拿出來, 因為我的需求達到了,擴展項目是后來的人需要做的事情),話不多說,貼代碼

#!/usr/bin/env python
# encoding: utf-8
'''
1、讀取指定目錄下的所有文件
2、讀取文件,正則匹配出需要的內容,獲取文件名
3、打開此文件(可以選擇打開可以選擇復制到別的地方去)
'''
import os.path
import re


# 遍歷指定目錄,顯示目錄下的所有文件名
def eachFile(filepath):
    pathDir =  os.listdir(filepath)
    for allDir in pathDir:
        child = os.path.join('%s\%s' % (filepath, allDir))
        if os.path.isfile(child):
            readFile(child)
#             print child.decode('gbk') # .decode('gbk')是解決中文顯示亂碼問題
            continue
        eachFile(child)
  
# 遍歷出結果 返回文件的名字
def readFile(filenames):
        fopen = open(filenames, 'r') # r 代表read
        fileread = fopen.read()
        fopen.close()
        t=re.search(r'clearSpitValve',fileread)
        if t:
#             print "匹配到的文件是:"+filenames
            arr.append(filenames)        

if __name__ == "__main__":
    filenames = 'D:\java\\answer\\Thinking in Java4 Answer' # refer root dir
    arr=[]
    eachFile(filenames)
    for i in arr:
        print i

滿足我的需求,需要做的事情 分3步

1、讀取指定目錄下的所有文件
2、讀取文件,正則匹配出需要的內容,獲取文件名
3、打開此文件

相對於java來說 ,用python寫的話能少寫20行左右的代碼,生產效率大大提高。人都舒服點

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM