python循環查找包含指定字符串的文件

周末學了點 python, 今天剛好需要查找目錄下包含指定字符串的文件,mac 下用 grep 查找如下

  grep -r line3 .

不過非常奇怪的是并不能查找到當前目錄下 .git 目錄中包含的文件,用 python 牛刀小試如下:

#!/usr/bin/env python
# encoding=UTF-8
# 用來查找某個目錄及其子目錄的文件中包含某個字符串的文件名

import os, os.path
import sys

def search(path, str):
    for x in os.listdir(path):
       fp = os.path.join(path, x)
       if os.path.isfile(fp):
          with open(fp, 'r') as fc:
             for line in fc.readlines():
               if str in line:
                 print fp
                 break
       elif os.path.isdir(fp):
          search(fp, str)

if len(sys.argv) == 1:
   print 'useage: search str'
elif len(sys.argv) == 2:
   str = sys.argv[1]
   search('.', str)
else:
   print 'too many parameters'

python 做這些事還是挺方便的

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容