[英]Create a list of all files in directory and subdirectories in python
我想提出一种列出目录及其子目录中所有文件的最佳方法。 完成后,我想过滤掉它们。 因此,最佳做法是分两行完成:
def getFilesContaining(filename):
files = map(lambda x: os.path.join(x, file), os.walk('.')) #Note: this map does NOT work
filtered_files = filter(lambda x: filename in x, files)
return filtered_files
def getFilesContaining(filename):
paths = (os.path.join(root, f) for root, dirs, files in os.walk('.')
for f in files)
return (path for path in paths if filename in path)
这将返回一个迭代器。 在您的版本中, filter
返回一个列表。 如果您确实想要列表,请通过将括号(...)
替换为方括号[...]
将返回值更改为列表理解。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.