读取目录

时间:2018-05-20 11:07:47

标签: python json directory

我有多个(400)json文件,其中包含我想要读取的目录中的dict并附加到列表中。我已经尝试循环遍历目录中的所有文件,如下所示:

path_to_jsonfiles = 'TripAdvisorHotels'
alldicts = []
for file in os.listdir(path_to_jsonfiles):
    with open(file,'r') as fi:
        dict = json.load(fi)
alldicts.append(dict)

我一直收到以下错误:

FileNotFoundError: [Errno 2] No such file or directory

但是,当我查看目录中的文件时,它会为我提供所有正确的文件。

for file in os.listdir(path_to_jsonfiles):
    print(file)

只需打开其中一个文件名即可。

with open('AWEO-q_GiWls5-O-PzbM.json','r') as fi:
    data = json.load(fi)

在循环中它出错了吗?

1 个答案:

答案 0 :(得分:2)

您的代码有两个错误:

1. file只是文件名。您必须编写完整的文件路径(包括其文件夹)。

2.你必须在循环中使用append

总而言之,这应该有效:

alldicts = []
for file in os.listdir(path_to_jsonfiles):
    full_filename = "%s/%s" % (path_to_jsonfiles, file)
    with open(full_filename,'r') as fi:
        dict = json.load(fi)
        alldicts.append(dict)