python 读取文件夹中包含某字段的文件路径

背景:提交发布包里面我想查看哪些sql改了某个表字段的值,就自己写了个查询方法,以后也用得上
1.递归查询出文件夹中所有文件路径
2.循环文件路径,符合文件类型的读取文件内容,查看是否包含要搜搜的字符串
主要操作类
os.path.isfile(path):判断路径是否是文件
os.listdir(path):列出文件夹下的所有子文件名(只会列出下一层)
open(p, “r”, encoding=‘gbk’, errors=‘ignore’):打开文件,注意这里的打开文件编码方式 忽略错误不能读取的特殊字符
file.read() :读取文件内容

import os

text = input("input text : ")
path = input("path : ")

path_arr = []
def getFile(path):
    global path_arr
    if os.path.isfile(path):
        path_arr.append(path)
    else:
        list = os.listdir(path);
        if len(list) == 0 :
            return ;
        else:
            for f in list:
                f_name = os.path.join(path, f)
                if os.path.isfile(f_name):
                    path_arr.append(f_name)
                else:
                    getFile(f_name)
getFile(path)
for p in path_arr:
    if (os.path.splitext(p)[1] in ['.txt','.proc','.sql'] ): # 指定读取文件格式
        fp = open(p, "r", encoding='gbk', errors='ignore')  # 注意这里的打开文件编码方式 忽略错误不能读取的特殊字符
        strr = fp.read()
        if strr.find(text) != -1:
            print(p)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值