是否有内置函数来查找特定目录下的所有文件,包括子目录下的文件?我试过这段代码,但没有工作......可能逻辑本身就错了......
def fun(mydir):
lis=glob.glob(mydir)
length=len(lis)
l,i=0,0
if len(lis):
while(l+i<length):
if os.path.isfile(lis[i]):
final.append(lis[i])
lis.pop(i)
l=l+1
i=i+1
else:
i=i+1
print final
fun(lis)
else:
print final
Run Code Online (Sandbox Code Playgroud)
Sil*_*ost 12
没有内置函数,但使用os.walk它很简单来构造它:
import os
def recursive_file_gen(mydir):
for root, dirs, files in os.walk(mydir):
for file in files:
yield os.path.join(root, file)
Run Code Online (Sandbox Code Playgroud)
ETA:os.walk函数递归遍历目录树; 该recursive_file_gen函数是一个生成器(使用yield关键字生成下一个文件).要获得结果列表:
list(recursive_file_gen(mydir))
Run Code Online (Sandbox Code Playgroud)