通过Python实现某个目录下所有文件(包含子目录中的文件)的列出
生活随笔
收集整理的這篇文章主要介紹了
通过Python实现某个目录下所有文件(包含子目录中的文件)的列出
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方法一
# 修改工作目錄 import os os.chdir(r'C:\Users\Hider\Desktop')# 定義函數 def list_all_files(rootdir):import os_files = []# 列出文件夾下所有的目錄與文件list = os.listdir(rootdir)for i in range(0, len(list)):# 構造路徑path = os.path.join(rootdir, list[i])# 判斷路徑是否為文件目錄或者文件# 如果是目錄則繼續遞歸if os.path.isdir(path):_files.extend(list_all_files(path))if os.path.isfile(path):_files.append(path)return _files# 執行 dir = r'C:\Users\Hider\Desktop\python' # 目錄地址 list_all_files(dir)使用遞歸的方式列出目錄及其子目錄下的文件。
os.listdir('dir') # 列出當前目錄下的所有文件 os.path.isdir('dir') # 判斷是否目錄,返回布爾值,不存在也返回False os.path.isfile('dir') # 判斷是否文件 os.path.join('dir', 'dir2') # 連接路徑,返回全路徑方法二
import os # 系統 path = r'C:\Users\Hider\Desktop\python'# 定義函數 def print_files(path):lsdir = os.listdir(path)dirs = [i for i in lsdir if os.path.isdir(os.path.join(path, i))]files = [i for i in lsdir if os.path.isfile(os.path.join(path, i))]if files:for f in files:print(os.path.join(path, f))if dirs:for d in dirs:print_files(os.path.join(path, d)) # 遞歸查找# return 0# 執行 print_files(path)代碼執行的邏輯思路:
(1)先列出路徑下的所有文件;
(2)過濾目錄;
(3)過濾文件;
(4)判斷目錄下是否有文件,若有就打印出該文件;
(5)判斷目錄下是否有子目錄,若有就通過遞歸再遍歷子目錄下的文件或者目錄。
結尾給大家推薦一個非常好的學習教程,希望對你學習Python有幫助!
Python基礎入門教程推薦:更多Python視頻教程-關注B站:Python學習者
【Python教程】全網最容易聽懂的1000集python系統學習教程(答疑在最后四期,滿滿干貨)
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的通过Python实现某个目录下所有文件(包含子目录中的文件)的列出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python教程:shift函数实现数据
- 下一篇: python3函数可变输入参量