Python遞迴遍歷目錄下所有檔案

2022-06-15 09:30:11 字數 2335 閱讀 2436

#自定義函式:

import os

path="d:\\temp_del\\a"

def gci (path):

"""this is a statement"""

parents = os.listdir(path)

for parent in parents:

child = os.path.join(path,parent)

#print(child)

if os.path.isdir(child):

gci(child)

# print(child)

else:

print(child)

gci(path)

print(gci.__doc__)  #顯示函式宣告部分內容

def function_name(param):

""""""this is a statement.""""""

可以使用函式的屬性__doc__來返回該宣告,如print(function_name.__doc__)

#使用os.walk方法遍歷:

import os

path="d:\\temp_del\\a"

for i in os.walk(path):

print(i)

返回結果:

('d:\\temp_del\\a', ['afa', 'x64'], ['audiofilteragent.ini', 'setup.exe'])

('d:\\temp_del\\a\\afa', ['222'], ['caudiofilteragent.exe', 'caudiofilteragent64.exe'])

('d:\\temp_del\\a\\afa\\222', , ['新建日記本文件 - 副本.jnt', '新建日記本文件.jnt'])

('d:\\temp_del\\a\\x64', ['bbb'], ['audiofilteragent.ini', 'setup64.exe'])

('d:\\temp_del\\a\\x64\\bbb', , ['caudiofilteragent.exe', 'caudiofilteragent64.exe'])

返回結果說明:

返回的是乙個三元tupple(dirpath, dirnames, filenames),

其中第乙個為起始路徑,第二個為起始路徑下的資料夾,第三個是起始路徑下的檔案.

dirpath是乙個string,代表目錄的路徑,

dirnames是乙個list,包含了dirpath下所有子目錄的名字,

filenames是乙個list,包含了非目錄檔案的名字.這些名字不包含路徑資訊,如果需要得到全路徑,需要使用 os.path.join(dirpath, name).

方法一:os.listdir

#

!/usr/bin/python

#-*- coding: utf-8 -*-

import

osdef

gci(filepath):

#遍歷filepath下所有檔案,包括子目錄

files =os.listdir(filepath)

for fi in

files:

fi_d =os.path.join(filepath,fi)

ifos.path.isdir(fi_d):

gci(fi_d)

else

:

print

os.path.join(filepath,fi_d)

#遞迴遍歷/root目錄下所有檔案

gci('

/root

')

方法二:os.walk

#

!/usr/bin/python

#-*- coding: utf-8 -*-

import

osfor fpathe,dirs,fs in os.walk('

/root'):

for f in

fs:

print os.path.join(fpathe,f)

列出所有檔案:

[i for i in os.listdir('

.') if os.path.isdir(i)]

列出所有.py檔案

[i for i in os.listdir('

.') if os.path.isfile(i) and os.path.splitext(i)[1]=

='.py

']

Python 遍歷目錄下的所有檔案

allfilenum 0 def printpath level,path global allfilenum 列印乙個目錄下的所有資料夾和檔案 所有資料夾,第乙個欄位是次目錄的級別 dirlist 所有檔案 filelist 返回乙個列表,其中包含在目錄條目的名稱 google翻譯 files o...

MFC遞迴遍歷目錄下所有子目錄和檔案

在mfc下要實現資料夾的遞迴遍歷,可用cfilefind類,依次讀取資料夾下的子資料夾和檔案,並判斷通過判斷是資料夾還是檔案來決定遞迴遍歷 事實上,cfilefind本身還可以判斷檔案具體屬於哪種型別,例如壓縮檔案 系統檔案等 另外要注意,遍歷過程中會讀到 檔案和 檔案,可通過filefinder....

MFC遞迴遍歷目錄下所有子目錄和檔案

文章原址 在mfc下要實現資料夾的遞迴遍歷,可用cfilefind類,依次讀取資料夾下的子資料夾和檔案,並判斷通過判斷是資料夾還是檔案來決定遞迴遍歷 事實上,cfilefind本身還可以判斷檔案具體屬於哪種型別,例如壓縮檔案 系統檔案等 另外要注意,遍歷過程中會讀到 檔案和 檔案,可通過filefi...