python 遍历文件夹

参考博客:http://www.cnblogs.com/lincj/p/5617605.html

一、os.walk() 

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

  可以得到一个三元tupple(dirpath, dirnames, filenames), 

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

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

  dirnames 是一个list,包含了dirpath下所有子目录的名字。

  filenames 是一个list,包含了非目录文件的名字。

  这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name)

 

二、枚举文件夹下所有文件

import os


# 枚举dirPath目录下的所有文件

def main(dirname):
    # begin
    for root, dirs, files in os.walk(dirname):
        print(root)
        print(dirs)
        print(files)
        for dir in dirs:
            print(os.path.join(root, dir))
        for file in files:
            print(os.path.join(root, file))
        print('----------------')


if __name__ == '__main__':
    main(r'G:\ftp\home\bigberg')

   

三、遍历文件夹获取大小 

def get_used_size(dirname):
    """
        遍历文件夹获取文件大小

    """
    size = 0
    for dir_path, dirs, files in os.walk(dirname):
        # size += sum([os.path.getsize(os.sep.join([dir_path, name])) for name in files])
        for name in files:
            size += os.path.getsize(os.sep.join([dir_path, name]))
    return size

  

posted @ 2017-11-05 10:01  Bigberg  阅读(5457)  评论(0编辑  收藏  举报