首页 > 解决方案 > Python - 如何在文件夹中找到所有相同类型的文件并从中列出?

问题描述

我已经尝试使用此代码在文件夹中查找所有“jpg”文件并从中列出。但结果显示如下。

['0', '0', '0', '1', '0', '8', '.', 'j', 'p', 'g']
['0', '0', '0', '1', '0', '8', '.', 'j', 'p', 'g', '0', '0', '0', '1', '1', '4', '.', 'j', 'p', 'g']

它返回文件名的所有字符,而不是整个文件名。你怎么解决这个问题?提前致谢。

import os 

def find_names(outpath):
    root_path_list= [file for file in os.listdir(outpath)]
    jpg_file_list = []
    for idx, file in enumerate(root_path_list) :
        if file.endswith('.jpg'):
            jpg_file_list += file             
            print(jpg_file_list)

标签: pythonlistfilenames

解决方案


我更喜欢使用glob库:

一行可以解决您的问题:

import glob, os
glob.glob(os.path.join(outpath,"*.jpg"))

对于您的代码,如果要将元素附加到列表中,则必须+=是列表。

jpg_file_list += [file] 

或使用附加

jpg_file_list.append(file)

推荐阅读