SNVMK
@SNVMK

__init__ missing 1 required positional argument?

Есть данный код
Но когда я этот модуль юзаю:
import snvmdb

db = snvmdb.Database('data.json')

tab = db.create_table('spam')
tab.put('kee', 'valuu')


Такое вот исключение:
Traceback (most recent call last):
  File "f:\пайтон\другие проги\NEW DB\main.py", line 6, in <module>
    tab.put('kee', 'valuu')
  File "f:\пайтон\другие проги\NEW DB\snvmdb.py", line 101, in put
    with open(Database().file, 'r') as f:
TypeError: __init__() missing 1 required positional argument: 'file'

В чем проблема?
  • Вопрос задан
  • 3357 просмотров
Решения вопроса 1
Amoralny
@Amoralny
Python-разработчик
В traceback:
with open(Database().file, 'r') as f:
    ...

Объясняю, ты создаёшь экземпляр класса Database, но не передаешь ему файл.
Сделай класс Table наследуемым от Database или передавай в Table экземпляр класса Database.
Замени Database().file на self.file

У тебя так много где написано в Table, замени
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы