os.walk()与os.path.join()遍历目录与文件

os.walk()

os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

top 为要遍历的目录:

topdown = True,优先遍历top目录,再遍历子目录,可选参数

onerror -- 可选, 需要一个 callable 对象,当 walk 需要异常时,会调用。

followlinks -- 可选, 如果为 True,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)。

得到的是一个元组(root,dirs,files)

root  当前遍历到的目录

dirs  当前目录下的子目录,是一个list

files 当前目录下的文件,是一个list

os.path.join()

将多个路径组合后返回

语法:os.path.join(path1[,path2[,path3[,...[,pathN]]]])

注意:第一个绝对路径之前的参数将会被忽略

例子

目录结构 

D:\\xiaogaojianghu_jinyong

-- 0.txt

-- 1.txt

-- 2.txt

-- 3.txt

-- 4.txt

-- a

    -- 5.txt

    -- 6.txt

    -- 7.txt

    -- 8.txt

for root, dirs, files in os.walk('D:\\xiaoaojianghu_jinyong'):
    for name in files:
        fileName = os.path.join(root,name)
        modifiedTime = time.localtime(os.stat(fileName).st_mtime)
        createdTime = time.localtime(os.stat(fileName).st_ctime)
        mTime = time.strftime('%Y-%m-%d %H:%M:%S', modifiedTime)
        cTime = time.strftime('%Y-%m-%d %H:%M:%S', createdTime)        
        print("fileName " + fileName)
        print("modifiedTime " + mTime)
        print("createdTime " + cTime + '\n')

输出

modifiedTime 2017-12-11 00:13:11
createdTime 2017-09-11 19:25:22
fileName D:\xiaoaojianghu_jinyong\0.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:20:58

fileName D:\xiaoaojianghu_jinyong\1.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42

fileName D:\xiaoaojianghu_jinyong\2.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42

fileName D:\xiaoaojianghu_jinyong\3.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42

fileName D:\xiaoaojianghu_jinyong\4.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42

fileName D:\xiaoaojianghu_jinyong\a\5.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42

fileName D:\xiaoaojianghu_jinyong\a\6.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42

fileName D:\xiaoaojianghu_jinyong\a\7.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42

fileName D:\xiaoaojianghu_jinyong\a\8.txt
modifiedTime 2018-11-12 20:08:33
createdTime 2018-11-04 21:27:42

参考

Python os.walk() 方法

python中os.path.join和join的区别

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值