在python中递归返回文件夹路径和文件名

时间:2017-07-11 00:12:32

标签: python

在python中使用os.walk时,如何只返回目标目录中的文件夹叶子。

这是我的功能:

def get_files(directory):
    directory = os.path.abspath(directory)
    if not os.path.isdir(directory):
        return False

    files = []  
    for root, subdirs, files in os.walk(directory):
        for f in files:
            if not f.lower().endswith('.jpg'):
                continue

            print root, f

get_files('C:/Temp')

返回此内容:

C:\Temp\images socket.jpg
C:\Temp\images vexusrollout.jpg
C:\Temp\newdocs\images utilityrollout.jpg
C:\Temp\newdocs\images vexushelper.jpg
C:\Temp\newdocs\images vexusmtl.jpg
C:\Temp\newdocs\images vexusrollout.jpg

我希望它能归还:

images socket.jpg
images vexusrollout.jpg
newdocs\images utilityrollout.jpg
newdocs\images vexushelper.jpg
newdocs\images vexusmtl.jpg
newdocs\images vexusrollout.jpg

我想要循环的任何目录之间的主要区别,我不希望该位包含在输出中。

1 个答案:

答案 0 :(得分:3)

更改

print root, f

print root[len(directory)+1:], f