Wpis z mikrobloga

#python #naukaprogramowania
Mirki robie taką prostą baze danych i mam problem. Chciałem użyć słowników i jsona ale coś źle robię.
Wczytuje od użytkownika dane i wrzucam je do słownika. Następnie wrzucam ten słownik do jsona. No i niby działa bo w pliku wszystko sie pojawia. No i to tam sobie w pętli działa, wczytuje pare takich słowników. No i kiedy chce wyświetlić całą baze to nie działa bo wywala errory. Kiedy jest jeden słownik tylko w pliku to wyświetla normalnie.
Wczytuje to z pliku tak:
dataStore=json.load(f_obj)
print(dataStore)
Da się po prostu zapisywać słownik czy nie ma tak łatwo i muszę go konwertować jakoś?
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@DoubleWu: Jak chcesz z tej bazy kiedyś korzystać (np. piszesz sobie ją do pracy) to weź i nie baw się w pisanie własnych rozwiązań, tylko użyj np. sqlite jak to ma być coś malutkiego.

A co do problemów które masz, to odczytaj plik, zdeserializuj, dodaj nowy pojazd, serializacja i zapis do pliku.
  • Odpowiedz
@draxter: Tak, tylko problem jest z odczytaniem tych danych bo zapisuje normalnie
@BoKoR: Piszę zwykłą bazę by nauczyć się pythona i ogarnąć w tym wypadku jakieś zapisy do plików itp. itd. więc kod służy tylko w celach edukacyjnych :D
  • Odpowiedz
Piszę zwykłą bazę


@DoubleWu: no to w ten sposób nie napiszesz, zapomnij. Użyj sqlite, jest wbudowane w pythona. Oprócz tego obczaj PEP8 i jakieś podstawy obiektówki, bo Car.add_car nie ma zwyczajnie sensu.

Append tutaj nie zadziała jeżeli chcesz deserializować na raz całą zawartość. {'a': 1, 'b': 2}\n{'a': 3, 'b': 4} to nie jest prawidłowy json. Ewentualnie możesz deserializować po jednej linii na raz albo przy każdym zapisie ładować całość, dodać
  • Odpowiedz