zoukankan      html  css  js  c++  java
  • python3 os.walk()使用

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

    在Unix,Windows中有效。

    os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
    • top -- 根目录下的每一个文件夹(包含它自己), 产生3-元组 (dirpath, dirnames, filenames)【文件夹路径, 文件夹名字, 文件名】。

    1. 第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。

      root是一个string,代表目录的路径,

      dirs是一个list,包含了root下所有子文件夹,

      files 是一个list,包含了root下所有文件。

    2. dirs 和files里不包含路径信息只有文件夹或者文件的名字,如果需要得到全路径,需要使用os.path.join(dirpath, name)

    • topdown --可选,默认没有指定为True,一个目录的的3-元组将比它的任何子文件夹的3-元组先产生 (目录自上而下)。如果topdown为 False, 一个目录的3-元组将比它的任何子文件夹的3-元组后产生 (目录自下而上)。

    • onerror -- 可选,是一个函数; 它调用时有一个参数, 一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。

    • followlinks -- 设置为 true,则通过软链接访问目录。

    文件结构如下:

    示例代码1:

    1 import os
    2 targetDir = 'D:Test1'
    3 for root, dirs, files in os.walk(targetDir):
    4     print('root = %s, dirs = %s, files = %s' %(root,dirs,files))

    结果如下所示:topdown 不写默认为True, 则目录自上而下遍历。

    示例代码2:

    1 import os
    2 targetDir = 'D:Test1'
    3 for root, dirs, files in os.walk(targetDir,topdown=False):
    4     print('root = %s, dirs = %s, files = %s' %(root,dirs,files))

    结果如下所示:topdown 为False时, 则目录自下而上遍历

    备注:

    1. 当 targetDir 的路径不存在时,结果返回空。
    2. 当 targetDir 是文件而非文件夹时,返回空。
    3. dirs, files 要想得到全路径,需拼接root, 即os.path.join(root, dirs), os.path.join(root, files)
    4. targetDir 下的文件夹个数为所有的root个数 -1,因为root数目中包含了targetDir 
  • 相关阅读:
    迅为iTOP4412开发板支持4G以上文件系统扩展
    迅为瑞芯微itop3399开发板Android8系统wifi移植
    centos 下安装显卡驱动步骤
    smarty函数转载
    jquery.qrcode二维码插件生成彩色二维码
    转 jquery插件241个jquery插件—jquery插件大全
    收集的jquery插件
    主机屋空间
    用过的php函数
    VeryMule网上商城
  • 原文地址:https://www.cnblogs.com/nancyzhu/p/8470677.html
Copyright © 2011-2022 走看看