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