通过python巧妙的递归获取文件夹中的文件/文件夹的方法

os.walk(top, topdown=True)
top: 需要查询的文件夹路径

topdown: 默认为True,用于设置返回list的顺序,True表示从根目录开始,False根目录在最后。

返回值: 递归的list对象,3维元组列表,每个元素格式如下
(dirpath, dirnames, filenames)
(文件夹路径, 文件夹名字, 文件名)


对于某如下格式文件夹,执行以下代码(注:os.sep用来替换/符号更加稳定),打印如下


#coding=utf-8

import os

p = "D:"+os.sep+"test"+os.sep+"tina"+os.sep+"dist"
for parent, dirname, filenames in os.walk(p):
    print parent
    print dirname
    print filenames
    print "------------------------"
D:\test\tina\dist
['xxx']
['server.exe']
------------------------
D:\test\tina\dist\xxx
[]
['\xd0\xc2\xbd\xa8\xce\xc4\xb1\xbe\xce\xc4\xb5\xb5.txt']
------------------------


基于以上的代码,可以实现文件夹内包含的某文件的查找及路径拼接,比如想找到包含server的文件并返回绝对路径:

#coding=utf-8

import os

p = "D:"+os.sep+"test"+os.sep+"tina"+os.sep+"dist"
for parent, dirnames, filenames in os.walk(p):
    for file in filenames:
        if "server" in file:
            print os.path.join(parent,file)

# 返回
# D:\test\tina\dist\server.exe





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值