天天看點

Python遞歸周遊目錄下所有檔案

#自定義函數:

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方法周遊:

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

 方法二:os.walk

列出所有檔案: