在Python中列出目录中的每个文件

2019-12-01  本文已影响0人  开心人开发世界

遍历本地文件存储是一项方便的技能。在本地系统内工作,os中有多种策略os可用于检索目录中的所有文件。

在本教程中,我们将使用该listdir()函数并操纵结果以仅返回文件。


导入库

首先,我们需要os库中的三种方法。

from os import listdir
from os.path import join, isfile

检索目录的内容

导入必要的方法后,该设置目录的路径并检索其内容了。

from os import listdir
from os.path import join, isfile
directory_path = "/some/path"
contents = listdir(directory_path)

筛选目录

现在我们有了目录的所有内容,是时候过滤掉目录了—仅保留文件。

from os import listdir
from os.path import join, isfile
directory_path = "/some/path"
contents = listdir(directory_path)
files = filter(lambda f: isfile(join(directory_path,f)),contents)

filter()函数有两个参数:一个确定是否将包含该项目的函数以及要过滤的序列。我们使用lambda表达式来确定联接的路径和目录内容是否为文件。重要的是要记住,这filter()将返回一个过滤器对象,因此您应该转换files为列表以打印内容。

from os import listdir
from os.path import join, isfile
directory_path = "/Users/jhsu/Desktop"
contents = listdir(directory_path)
files = filter(lambda f: isfile(join(directory_path,f)),contents)
print(files) # <filter object at 0x10a5203a0>
print(list(files)) # [list of files]

翻译自:https://medium.com/better-programming/how-to-list-every-file-in-a-directory-in-python-bd431baeb679

上一篇 下一篇

猜你喜欢

热点阅读