Python OSError: [Errno 9] Bad file descriptor after opening big json file

Python OSError: [Errno 9] Bad file descriptor after opening big json file

我试图逐行读取 json 中的一个大 json 文件(维基百科 json 转储)并得到错误:

Traceback (most recent call last):
  File "C:/.../test_json_wiki_file.py", line 19, in <module>
    test_fct()
  File "C:/.../test_json_wiki_file.py", line 12, in test_fct
    for line in f:
OSError: [Errno 9] Bad file descriptor

这是我的代码:

import json

def test_fct():
    data = []
    i = 0
    with open('E:/.../20200713.json/20200713.json') as f:
        for line in f:
            data.append(json.loads(line))
            i = i + 1

        if i > 1:
            input_file.close()
            return data

test_data = test_fct()

文件大小约为 700GB,文件说明 (https://www.wikidata.org/wiki/Wikidata:Database_download) 表明可以逐行阅读。我不知道这是否重要,但 E:/ 硬盘驱动器是外部驱动器。

提前感谢您的帮助:)

我没有任何关于在 python 中打开大文件的第一手知识,但你的意思是要将路径设置为 20200713.json/20200713.json。第一个实际上是一个具有 .json 扩展名的目录吗?我还建议尝试首先加载较小的文件样本(打开可能很难,所以也许只需在终端中使用 more 命令?)。