Python获取当前目录下所有文件的绝对路径并放在list中

os.listdir(path) 只能获取某个路径下所有的文件名字的list,而有时候需要获得该路径下所有的文件的绝对路径,一种简单的方法是:

root = '/media/Disk/ShanghaiTech/'
path = os.path.join(root, 'part_A_final', 'train_data', 'images')
filenames = os.listdir(path)
pathnames = [os.path.join(path, filename) for filename in filenames]

还有一种办法是利用os.walk() 返回一个generator三元组
generator意味着是边循环边组成list,用完释放不占内存啥的。
而且是以迭代的方式,会遍历所有子文件夹的下面的所有文件,一层层迭代下去。
而在代码中使用,直接一个for就可以取出来,和组成的list里循环没什么区别,挺优雅的~

在这里插入图片描述

root = '/media/Disk/ShanghaiTech/'
path = os.path.join(root, 'part_A_final', 'train_data', 'images')
pathnames = []
for (dirpath, dirnames, filenames) in os.walk(path):
    for filename in filenames:
        pathnames += [os.path.join(dirpath, filename)]
print pathnames

最后输出结果是一样的:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值