添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
沉稳的脆皮肠  ·  linux: ...·  3 小时前    · 
率性的山楂  ·  【javascript】详解javaScri ...·  14 小时前    · 
坏坏的茴香  ·  nginx ...·  19 小时前    · 
咆哮的爆米花  ·  java.lang.IllegalState ...·  1 月前    · 
强健的毛豆  ·  Providing Accessible ...·  2 月前    · 
叛逆的沙滩裤  ·  Solved: Services in ...·  4 月前    · 
任性的西红柿  ·  Node modules not ...·  4 月前    · 

有时候我们需要搜索包含指定字符串的文件,例如在下图所示的目录test中(蓝色的表示目录),某些txt文件含有字符串'world'。以下代码展示了如何通过python找到这些文件。

import os
def get_files(root_path):  # 注意root_path前加上r
    获得目录root_path下(包括各级子目录)所有文件的路径
    file_list = []
    for i in os.listdir(root_path):
        path = root_path + r'\\' + i
        if os.path.isfile(path):
            file_list.append(path)
        elif os.path.isdir(path):
            files = get_files(path)
            for f in files:
                file_list.append(f)
    return file_list
def word_in_files(root_path, word):
    获得目录root_path下(包括各级子目录)所有包含字符串word的文件的路径
    file_list = get_files(root_path)
    result = []
    for path in file_list:
        if word in open(path, 'r', encoding='utf-8').read():  # 在实际中,有的文件由于编码的原因可能无法以这种方式打开
            result.append(path)
    return result
>>>word_in_files(r'D:\test', 'world')
['D:\\test\\\\file1\\\\3.txt', 'D:\\test\\\\file1\\\\file3\\\\5.txt']