看起来你的问题是你实际上一直在使用
相同的
名单。
定义
files_in_subfolder = []
创建一个列表,并在刚刚定义的变量中为该列表分配一个指针。所以当你分配
self.folders_and_files[subfolder] = files_in_subfolder
您只将指向列表的指针(在每次迭代中都是相同的)存储在字典中,而不是实际的列表中。
以后,当你这样做的时候
files_in_subfolder.clear()
您正在清除指针所指向的列表,并因此清除字典中的所有条目(因为它始终是同一个列表)。
为了解决这个问题,我建议您创建
新的
为字典中的每个不同条目列出列表,而不是为每次迭代清除它。这是,移动
files_in_subfolder
从圈外到圈内。
希望有帮助!