Преобразовать файл в dict, где значение представляет собой код, например. PovScore(1,2)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Преобразовать файл в dict, где значение представляет собой код, например. PovScore(1,2)

Сообщение Anonymous »


У меня есть следующие данные (7 МБ), которые хранятся в transpostion.txt:

Код: Выделить всё

{'0x2df54c975eb48346': [PovScore(Cp(+57), BLACK), 5], ...}
I did try

Код: Выделить всё

with open("transposition.txt", "r") as file:
x = file.readline()
transposition = eval(x)
del x
but the memory reaches 99% and then hangs. I did try with 1MB file, it immediately loads and set the string, but when print it's very slow (IDLE):

Код: Выделить всё

>>> with open("testfile.txt", "r") as file:
x = file.read()

>>> x
Squeezed text (2000 lines)
module can't parse JSON with code:

Код: Выделить всё

Traceback (most recent call last):
File "", line 1, in 
json.dumps({'a':PovScore(0,0)})
File "C:\Users\asdfs\AppData\Local\Programs\Python\Python39\lib\json\__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "C:\Users\asdfs\AppData\Local\Programs\Python\Python39\lib\json\encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "C:\Users\asdfs\AppData\Local\Programs\Python\Python39\lib\json\encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "C:\Users\asdfs\AppData\Local\Programs\Python\Python39\lib\json\encoder.py", line 179, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type PovScore is not JSON serializable


Источник: https://stackoverflow.com/questions/781 ... ovscore1-2
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»