python3 用遞歸方法列出所有目錄與文件


python3 用遞歸方法列出所有目錄與文件

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan

import os
from time import time

dir_count = 0
file_count = 0

def get_all_dir(path, sp = "|"):
    # 得到當前目錄下所有的文件
    fills_list = os.listdir(path)

    sp += "-"
    # 處理每一個文件
    for file_name in fills_list:

        # 判斷是否是路徑(用絕對路徑)
        file_abs_path = os.path.join(path, file_name)
        if os.path.isdir(file_abs_path):
            global dir_count    # 寫了這個global,不知道會不會被開除
            dir_count += 1
            print(sp, "目錄:",file_name)
            get_all_dir(file_abs_path, sp)
        else:
            global file_count
            file_count += 1
            print(sp, "普通文件:",file_name)

def main():


    # user_dir = r"D:\Py\1704"
    user_dir = r"C:\Python36"
    t1 = time()
    get_all_dir(user_dir)
    t2 = time()

    print("一共有%d個目錄,%d個文件,耗時%.3f秒" % (dir_count, file_count, t2 - t1))

if __name__ == "__main__":
    main()

  效果圖如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM