Python-按扩展名过滤文件

时间:2020-01-10 10:41:17

标签: python python-3.x

我有一个包含两个Excel文件(文件扩展名为.xls)的文件夹。我正在尝试按照以下代码从文件夹中仅过滤出xls文件

filtered_files = glob.glob(folder_path + "/*.xls")

以下是文件夹的详细信息

folder_path是文件夹的路径。此文件夹包含2个xls文件(file1.xlsfile2.xls

但是,当我打印filtered_files时,它仅返回一个文件(file2.xls),因为这是添加到文件夹中的最后一个文件,而当我再次运行脚本时,它将检测到第二个文件。

2 个答案:

答案 0 :(得分:0)

我通常使用这样的东西:

xls_files = [os.path.join(folder_path,x) for x in os.listdir(folder_path) if x.split('.')[-1] == "xls"]

答案 1 :(得分:0)

我倾向于将glob用于此类事情。我怀疑您犯的错误是加入路径。以下代码显示了如何正确连接文件/文件夹路径。

import glob
import os

folder_path = "C:\\Users\\Me\\Documents"
filter_path = os.path.join(folder_path, "*.xls")
filtered_files = glob.glob(filter_path)

print(filtered_files)