您的位置:首页 > 编程语言 > Python开发

python当前目录匹配包含指定字符串的文件+指定文件中匹配指定字符串

2020-02-02 18:11 399 查看

说明:
代码包含两部分:python当前目录匹配包含指定字符串的文件+指定文件中匹配指定字符串

######## 用于搜索方法 ######
######## 当前目录搜索 _client结尾的文件(目前所有方法都写在client结尾的文件###包含 xxx 字符串
import os
import re
####放方法里会重定向,所以放在外面 ######可以放里面print研究一下,很有意思 #####
sets=[]
######所有写方法的文件,为 ‘_client’ 结尾的文件 ########
def get_methodfiles(character, directory_path=’’):
dirs = []
method_files = []
for filename in os.listdir(directory_path):
##file_path是当前目录所有子目录+文件路径#
file_path = os.path.join(directory_path, filename)
## dirs是 筛选出的子目录 ##
if os.path.isdir(file_path):
dirs.append(file_path)
## method_files是 筛选出的的文件 ##
elif os.path.isfile(file_path) and character in filename and ‘.pyc’ not in filename:
method_files.append(file_path)
## 当前目录下所有子目录遍历 ##
for file in method_files:
sets.append(file.split())
for dir in dirs:
get_methodfiles(character, directory_path=dir)
return sets

######## 在文件中匹配字符串 ########
def findstr(string,filename):
fo = open(filename, ‘rb’)
file = fo.read().decode(‘utf-8’, ‘ignore’)
locate = re.search(string, file)
if locate:
return filename,locate.span()

####### sets: 所有符合条件的文件名 #####
sets=get_methodfiles(’_client’, directory_path=os.path.split(os.path.realpath(file))[0])
##在所有包含方法的文件中搜索字符串 ,同时支持中英文字符串匹配 ######
for set in sets:
set=’’.join(set)
##### 这里这里这里!!!在这里输入要搜的字符串就可以了!!####
result=findstr(‘ecs’,set)
if result:
print(result)

  • 点赞
  • 收藏
  • 分享
  • 文章举报
一颗发芽的豆 发布了2 篇原创文章 · 获赞 0 · 访问量 27 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐