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

时间:2021-08-13作者:klpeng分类:Python浏览:178评论:0

遍历本地文件存储是一项方便的技能。在本地系统内工作,os中有多种策略os可用于检索目录中的所有文件。在本教程中,我们将使用该listdir()函数并操纵结果以仅返回文件。

导入库

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

  • listdir:检索目录的内容(目录和文件)。
  • join:将两个组件组合成一条路径。
  • isfile:如果给定的路径组件是一个文件,则返回true。
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]
打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢