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

遍历本地文件存储是一项方便的技能。在本地系统内工作,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]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值