python查找文件中指定字符串_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 做这些事还是挺方便的

你可能感兴趣的:(python查找文件中指定字符串_python循环查找包含指定字符串的文件)