首页 > 解决方案 > 如何不在 for 循环中显示特定值?

问题描述

我将所有文件名列出到 Python 中的列表中。

这是我当前的代码:

import os
from os.path import isfile, join

test = 'C:/Users/Nelly/Desktop/test folder'

one = [f for f in os.listdir(test) if isfile(join(test, f))]

print(one)

上面的代码返回了所有文件名的列表。我有一个我不想返回的特定值,即Thumbs.db. 不确定它是什么,但它不应该在列表中。

我该如何排除它?

标签: python

解决方案


只需在您的理解中添加一个附加条件:

one = [f for f in os.listdir(test) if isfile(join(test, f)) and not f == 'Thumbs.db']

或者如果您只想过滤扩展名:

one = [f for f in os.listdir(test) if isfile(join(test, f)) and not f.endswith('.db')]

推荐阅读