在目录中查找名为* .txt的所有文件

时间:2018-05-13 11:28:14

标签: python filenames glob

import os, glob

file = os.listdir("my directory: example")

mp3files = list(filter(lambda f: f == '*.txt',file))    
print(mp3files)

此代码仅向我提供:[]

3 个答案:

答案 0 :(得分:0)

mp3files = list(filter(lambda f: f.endswith('.txt') ,file))

应该有效,因为文件名与==不匹配(*.txt}而是以该扩展名结尾

答案 1 :(得分:0)

使用str.endswith

list(filter(lambda f: f.endswith('.txt'),file))

答案 2 :(得分:0)

为什么不使用已导入的glob模块?

mp3files = glob.glob('*.txt')

这将返回当前工作目录中所有mp3文件的列表。 如果您的文件位于不同的目录中,而不在您的cwd中:

path_to_files_dir = os.path.join(os.getcwd(), 'your_files_dir_name', '*.txt')

mp3files = glob.glob(path_to_files)