os.walk 未显示给定路径中的所有文件

0 python os.walk python-3.x

我正在尝试制作自己的备份程序,但要做到这一点,我需要能够提供一个目录,并能够获取子目录深处的每个文件,以便能够复制它们。我尝试制作一个脚本,但它没有给我该目录中的所有文件。我使用文档作为测试,我的项目列表为 3600,但文件数量应为 17000。为什么没有os.walk显示所有内容?

import os
data = []
for mdir, dirs, files in os.walk('C:/Users/Name/Documents'):
    data.append(files)
print(data)
print(len(data))
Run Code Online (Sandbox Code Playgroud)

小智 5

使用data.extend(files)而不是data.append(files).

files是目录中的文件列表。看起来像["a.txt", "b.html"]等等。如果你使用append,你最终会data看起来像

[..., ["a.txt", "b.html"]]
Run Code Online (Sandbox Code Playgroud)

而我怀疑你在追求

[..., "a.txt", "b.html"]
Run Code Online (Sandbox Code Playgroud)

使用extend将提供第二种行为。