如何获取在python中的文件夹中搜索的文件的完整路径?

时间:2018-01-24 07:18:52

标签: python python-3.x

我的文件夹结构如下: Folder Structure

我想获取包含字符串xyz的所有文件的路径。结果必须如下:

  • 文件夹/ folderA / fileA2

  • 文件夹/ FolderB中/ fileB1

  • 的文件夹/文件1

我试过了:

for path, subdirs, files in os.walk(folderTestPath):
    for file in files:
        if "xyz" in open(folderTestPath+file,'r'):
             print (os.path.abspath(file))

folderTestPath包含文件夹的路径。此代码仅为我提供文件名后跟一个文件未找到错误。我知道这是一件简单的事情,但由于某些原因我无法得到它。请帮忙。

1 个答案:

答案 0 :(得分:1)

您可以使用 os.path.join 方法:

for path, subdirs, files in os.walk(folderTestPath):
    for file in files:
        filePath = os.path.join(path, file)
        if "xyz" in open(filePath ,'r').read():
             print("xyz")
             print(filePath)

正如Eric提到的那样在阅读后关闭文件使用下面的代码片段

import os

for path, subdirs, files in os.walk(folderTestPath):
    for file in files:
        filePath = os.path.join(path, file)
        with open(filePath ,'r') as data:
            if "xyz" in data.read():
                print("xyz")
                print(filePath)
        data.close()