返回所有parts.txt文件的路径列表

问题描述 投票:0回答:1

使用os模块的walk生成器,编写一个函数list_files_walk,该函数返回所有part.txt文件的路径的列表。该函数不使用任何输入参数。

def list_files_walk():
    for dirpath, dirnames, filenames in os.walk("CarItems"):
        if 'parts.txt' in dirpath:
        list_files.append(filenames)
        print(list_files)
    return list_files

输出(list_files)应该看起来与此类似:

CarItems/Chevrolet/Chevelle/2011/parts.txt
CarItems/Chevrolet/Chevelle/1982/parts.txt

如何产生此输出?

python-3.x list directory os.walk
1个回答
0
投票

你很近。由于某种原因,您正在parts.txt中搜索dirpath时,应在filenames中进行搜索:

def list_files_walk():
    results = []
    for dirpath, dirnames, filenames in os.walk("CarItems"):
        for f in filenames:
            if f.endswith('parts.txt'):
                results.append(os.path.join(dirpath, f))
    return results

我使用endswith,因为它比问“ parts.txt”是否在文件名in处更准确,但在大多数情况下也可以:

def list_files_walk():
    results = []
    for dirpath, dirnames, filenames in os.walk("CarItems"):
        for f in filenames:
            if 'parts.txt' in f:
                results.append(os.path.join(dirpath, f))
    return results
© www.soinside.com 2019 - 2024. All rights reserved.