首页 > 解决方案 > 从所有子目录中读取内容

问题描述

我正在尝试从所有子目录中读取内容,但我只获取最后一个目录中第一个文件的内容。我正在尝试以下代码:

content= []
for root, dirs, files in os.walk('test_group'):
    for file in files:
        with open(os.path.join(root,file), "r") as text:
            content = text.read()
            
print(content)

然后我尝试了这段代码,它只给出了空列表:

content= []
for root, dirs, files in os.walk('test_group'):
    for dirname in dirs:
        for file in files:
            with open(os.path.join(root,file), "r") as text:
                content = text.read()
            
print(content)

我的父目录名称是“test_group”。里面有9个子目录。每个子目录中大约有 20 个文本文件。现在我想从所有子目录的所有文件中读取数据并将其附加到内容列表中。我是初学者,不知道我在哪里做错了。请指导我在哪里做错了。我会非常感谢你。

标签: python-3.x

解决方案


我已将我的第一个代码更改如下,它对我有用。

content= []
for root, dirs, files in os.walk('test_group'):
    for file in files:
        with open(os.path.join(root,file), "r") as text:
            content.append(text.read()) 
            
print(content)

首先,我猜它正在覆盖文本。当我附加它时,它会保存数据。


推荐阅读