Python:循环遍历多个子目录以查找包含特定字符串的文件

时间:2018-05-16 15:43:38

标签: python python-3.x loops subdirectory

我有代码来评估目录中的所有文件,并列出包含指定字符串的文件。

我需要做的是将这个循环放在多个子目录上。

我尝试过使用os.walk但没有成功。

感谢任何帮助。 这是我原来的疑问:

import os
path = input('Directory Path:  ')
directory = os.listdir(path)
searchstring1 = input('Search String:  ')
for fname in directory:
    if os.path.isfile(path + os.sep + fname):
        f = open(path + os.sep + fname, 'r')
        if searchstring1 in f.read():
            print('found string in file %s' % fname)
        f.close()

这是我认为可行的:

import os
path = input('Directory Path:  ')
searchstring1 = input('Search String:  ')
for root, dirs,files in os.walk(path):
    for fname in files:
        f = open(fname, 'r')
        if searchstring1 in f.read():
            print('found string in file %s' % fname)    
        f.close()

这里错过了什么?

0 个答案:

没有答案