Я пытаюсь написать словарь (и читать) файл, где ключ представляет собой комбинацию из кортежа и Int, как показано ниже:Дать кортеж и ИНТ ключей словаря в файл
Q = {((True, False, 1, 0), 1): 100}
Я пробовал pickle, json и csv, но, похоже, не мог решить сложную ключевую проблему, и я не могу найти много документации по этому типу словаря.
#json code which works for a tuple only as the key
def write_file(mat):
with open('file.json', 'w') as f:
json.dump(mat, f)
def read_file():
with open('file.json', 'r') as f:
try:
data = json.load(f)
except ValueError:
data = {}
return data
Можете ли вы отправить stacktrace (вместо того, чтобы улавливать ошибку?) –
'pickle' должен быть в состоянии сделать это легко. Какая конкретная проблема у вас была с этим - или у вас есть предпочтение одному из других? – martineau
@ Jean-François Fabre: Это не так далеко - необработанное исключение происходит в 'write_file()': 'TypeError: key ((True, False, 1, 0), 1) не является строкой' – martineau