使用os.walk获取目录及其子目录中的所有文件

3

我目前正在编写一个Python脚本,可以输入驱动器或文件夹,并遍历该驱动器或文件夹中的每个图像并将其全部移动到一个文件夹中。

我的问题是使用os.walk时它不会自动打开子目录。例如,假设我选择了E:驱动器进行扫描。 E:驱动器的文件结构如下:

E:
   + Folder1
       - file.png
       - file2.png
   - files.jpg

由于其他文件嵌套在子目录中,而os.walk不会打开并检查这些文件,因此我的脚本仅会检测files.jpg文件。

以下是我目前正在使用的代码:

# For each file in the drive
    for folders, sub_folders, files in os.walk(drive):
        # For each name in the files
        for filename in files:
            if filename == drive + "\\ImageSorter\\":
                continue

            file_name = os.path.splitext(filename)[0]
            extension = os.path.splitext(filename)[1]

有没有办法让 os.walk 遍历整个驱动器的所有子目录,而不仅仅是第一个文件夹?

1
你需要循环遍历子文件夹。- https://www.tutorialspoint.com/python/os_walk.htm - Chen A.
1个回答

0
尝试一下这段代码
import os
for root, dirs, files in os.walk("."):
    path = root.split(os.sep)
    print((len(path) - 1) * '---', os.path.basename(root))
    for file in files:
        print(len(path) * '---', file)

你为什么要提出一个重复的问题然后又同时回答呢? - cs95
你应该真正地给正确的问题以功劳。 - siroot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接