如何读取python目录下的所有文件,并将文件数据保存到字典中
How to read all the files of a directory in python and save file data in a dictionary
我的一个文件夹里有很多文件。它们以 .txt 格式显示。我想阅读所有这些文档,并想将文档内容存储在字典中。字典的键可以是文档名称,值应该是该特定文档的内容。但是现在我只能打印我文件的所有名称,而不能制作可以存储其内容的字典。我写了这段代码:
import os
with os.scandir('docs/') as entries:
for entry in entries:
print(entry.name)
with open('F:\folder\docs\'+entry.name) as f:
contents = {'entry.name': f.read()}
或者,如果你能给我一些新方法来读取所有文件的内容,然后将其存储在字典中。请在这方面帮助我。谢谢。
假设您发布的代码中的循环有效 - 下面的代码应该创建您要查找的字典。
import os
data = {}
with os.scandir('docs/') as entries:
for entry in entries:
with open('F:\folder\docs\'+entry.name) as f:
data[entry.name] = f.read()
我的解决方案:
import os
import json
all_files = dict()
with os.scandir() as entries:
for entry in entries:
print(entry.name)
with open(rf'{entry.name}') as f:
contents = f.read()
all_files[f'{entry.name}'] = contents
with open('all_files.json', 'w') as f:
json.dump(all_files, f, indent=2)
这样应该可以。
import os
docs_dict = {}
with os.scandir('docs/') as entries:
for entry in entries:
print(entry.name)
with open('F:/folder/docs/'+ entry.name ) as f:
val = f.read()
docs_dict[f.name] = val
f.close()
我在 for
循环外创建了一个空字典。然后,扩展您的代码,我将文档的内容存储在 val
中,然后添加了字典项。我还将 F:\folder\docs\
更改为 F:/folder/docs/
,因为 Python 需要路径中的正斜杠,并且使用 \
排除了字符串的结尾引号。
我的一个文件夹里有很多文件。它们以 .txt 格式显示。我想阅读所有这些文档,并想将文档内容存储在字典中。字典的键可以是文档名称,值应该是该特定文档的内容。但是现在我只能打印我文件的所有名称,而不能制作可以存储其内容的字典。我写了这段代码:
import os
with os.scandir('docs/') as entries:
for entry in entries:
print(entry.name)
with open('F:\folder\docs\'+entry.name) as f:
contents = {'entry.name': f.read()}
或者,如果你能给我一些新方法来读取所有文件的内容,然后将其存储在字典中。请在这方面帮助我。谢谢。
假设您发布的代码中的循环有效 - 下面的代码应该创建您要查找的字典。
import os
data = {}
with os.scandir('docs/') as entries:
for entry in entries:
with open('F:\folder\docs\'+entry.name) as f:
data[entry.name] = f.read()
我的解决方案:
import os
import json
all_files = dict()
with os.scandir() as entries:
for entry in entries:
print(entry.name)
with open(rf'{entry.name}') as f:
contents = f.read()
all_files[f'{entry.name}'] = contents
with open('all_files.json', 'w') as f:
json.dump(all_files, f, indent=2)
这样应该可以。
import os
docs_dict = {}
with os.scandir('docs/') as entries:
for entry in entries:
print(entry.name)
with open('F:/folder/docs/'+ entry.name ) as f:
val = f.read()
docs_dict[f.name] = val
f.close()
我在 for
循环外创建了一个空字典。然后,扩展您的代码,我将文档的内容存储在 val
中,然后添加了字典项。我还将 F:\folder\docs\
更改为 F:/folder/docs/
,因为 Python 需要路径中的正斜杠,并且使用 \
排除了字符串的结尾引号。