【问题标题】:Is there a way to increase tinydb JSON limit?有没有办法增加 tinydb JSON 限制?
【发布时间】:2021-01-30 11:36:43
【问题描述】:

我有一个 tinydb json 文件,但我注意到它在某个时候拒绝将更多项目写入 json 文件并在解析时抛出错误,因为它在写入项目的过程中被切断

这是回溯。它显示 json 解析器无法解析,因为作者在项目中间切断了写入

Traceback (most recent call last):
  File "C:\Program Files (x86)\Python38-32\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "main.py", line 79, in run
    message.process()
  File "C:\Users\Administrator\Downloads\dbtest\Login_Message.py", line 45, in process
    DataBase.loadAccount(self)
  File "C:\Users\Administrator\Downloads\dbtest\DataBase.py", line 9, in loadAccount
    user_data = db.search(query.token == str(user.token))
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\tinydb\table.py", line 234, in search
    docs = [doc for doc in self if cond(doc)]
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\tinydb\table.py", line 234, in <listcomp>
    docs = [doc for doc in self if cond(doc)]
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\tinydb\table.py", line 588, in __iter__
    for doc_id, doc in self._read_table().items():
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\tinydb\table.py", line 638, in _read_table
    tables = self._storage.read()
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\tinydb\storages.py", line 125, in read
    return json.load(self._handle)
  File "C:\Program Files (x86)\Python38-32\lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
  File "C:\Program Files (x86)\Python38-32\lib\json\__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "C:\Program Files (x86)\Python38-32\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Program Files (x86)\Python38-32\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 234357 (char 234356)

【问题讨论】:

  • 请使用完整的错误回溯更新您的问题。

标签: python tinydb


【解决方案1】:

发生这种情况的原因是多个线程同时写入 db 文件,所以我最终手动写入多个文件:每个条目一个

【讨论】:

    猜你喜欢
    • 2013-06-13
    • 2020-09-04
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    相关资源
    最近更新 更多