Python OSError: [Errno 9] 打开大 json 文件后文件描述符错误

我只是试图在 Python 中逐行读取一个大的 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:/ 硬盘驱动器是外部驱动器。


提前谢谢你的帮助 :)


慕仙森
浏览 86回答 1
1回答

开心每一天1111

我没有任何关于在 python 中打开大文件的第一手知识,但你的意思是将路径设置为20200713.json/20200713.json.&nbsp;第一个实际上是一个具有 .json 扩展名的目录吗?我还建议尝试首先加载较小的文件样本(打开可能很难,所以也许只使用more终端中的命令?)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python