欢迎光临
我们一直在努力

代码定位:查找指定目录下的指定类型文件中是否包含指定关键字

"""
此方法未测试。
代码定位
查找指定目录下的指定类型文件中是否包含指定关键字,
如果包含,则打印文件指定关键所在位置,
即第几行第几个字符。
如果遇到文件夹,则进入文件夹继续搜索。
"""

"""
在文件中搜索指定关键字。

@param file 要搜索的文件路径。
@param keyword 要搜索的关键字。
@return 包含关键字出现位置的列表,每个位置由行号和字符位置组成。
"""

def search_in_file(file, keyword):
    result = []
    with open(file) as f:
        row_count = 0
        for line in f:
            row_count += 1
            pos = line.find(keyword)
            if pos != -1:
                result.append({
                    "row": row_count,
                    "pos": pos
                })
    return result

"""
开始搜索操作。

@param begin 搜索的起始目录。
@param keyword 要搜索的关键字。
@param file_type 要搜索的文件类型。
"""

def run(begin, keyword, file_type):
    result = {}
    # 查找指定目录下指定类型的文件
    match = search_in_file(begin, [file_type])
    for file in match:
        value = search_in_file(file, keyword)
        if value:
            result[file] = value
    # 按照文件名排序,并打印搜索结果
    for key in sorted(result):
        print(f'在{key}中找到关键字{keyword},位置如下:')
        for item in result[key]:
            print(f'第{item["row"]}行,第{item["pos"]}个字符')

if __name__ == '__main__':
    run("..", "python", ".py")
赞(0) 打赏
未经允许不得转载:创想未来 » 代码定位:查找指定目录下的指定类型文件中是否包含指定关键字

评论 抢沙发

评论前必须登录!

 

更好的Python学习

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册