Python 有没有办法提高tinydb JSON限制? 我有一个TyyDB JSON文件,但是我注意到,在某个点上,它拒绝向JSON文件写入更多的项,而在解析时抛出一个错误,因为在写入项时它被切断了。

Python 有没有办法提高tinydb JSON限制? 我有一个TyyDB JSON文件,但是我注意到,在某个点上,它拒绝向JSON文件写入更多的项,而在解析时抛出一个错误,因为在写入项时它被切断了。,python,tinydb,Python,Tinydb,这是回溯。它显示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.proce

这是回溯。它显示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)
回溯(最近一次呼叫最后一次):
文件“C:\Program Files(x86)\Python38-32\lib\threading.py”,第932行,在\u bootstrap\u inner中
self.run()
运行中的第79行文件“main.py”
message.process()
文件“C:\Users\Administrator\Downloads\dbtest\Login\u Message.py”,第45行,正在处理中
DataBase.loadAccount(self)
loadAccount中第9行的文件“C:\Users\Administrator\Downloads\dbtest\DataBase.py”
user_data=db.search(query.token==str(user.token))
搜索中的文件“C:\Program Files(x86)\Python38-32\lib\site packages\tinydb\table.py”,第234行
单据=[单据为单据在自身条件下的单据(单据)]
文件“C:\Program Files(x86)\Python38-32\lib\site packages\tinydb\table.py”,第234行,在
单据=[单据为单据在自身条件下的单据(单据)]
文件“C:\Program Files(x86)\Python38-32\lib\site packages\tinydb\table.py”,第588行,在iter中__
对于doc_id,doc in self._read_table()。items():
文件“C:\Program Files(x86)\Python38-32\lib\site packages\tinydb\table.py”,第638行,在_read_table中
tables=self.\u storage.read()
文件“C:\Program Files(x86)\Python38-32\lib\site packages\tinydb\storages.py”,第125行,已读
返回json.load(self.\u句柄)
文件“C:\Program Files(x86)\Python38-32\lib\json\\ u_init\u_.py”,第293行,已加载
返回加载(fp.read(),
文件“C:\Program Files(x86)\Python38-32\lib\json\\ u_init\u_.py”,第357行,加载
返回\u默认\u解码器。解码
文件“C:\Program Files(x86)\Python38-32\lib\json\decoder.py”,第337行,解码中
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
文件“C:\Program Files(x86)\Python38-32\lib\json\decoder.py”,第355行,原始解码
从None引发JSONDecodeError(“预期值”,s,err.value)
json.decoder.JSONDecodeError:预期值:第1行第234357列(字符234356)

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

请使用完整的错误回溯更新您的问题。@quamrana我已更新它