參考博客:http://www.cnblogs.com/lincj/p/5617605.html 一、os.walk() os.walk(top, topdown=True, onerror=None, followlinks=False) 可以得到一個三元tupple(dirpath, dirna ...
參考博客: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