Plik numer 1) hotel_guest.py
from serialization import *
print("Witaj w programie do obslugi gosci hotelowych.")
wybor = -1
while(wybor != 0):
wybor = int(input(
"\nWybierz opcje: \n1–dodaj nowego goscia\n2–usun goscia\n3–znajdz goscia\n0–zakoncz dzialanie programu\n –> : "))
if (wybor == 1):
dodajGoscia()
elif (wybor == 2):
nazwisko = input("\nPodaj nazwisko usuwanego goscia: ")
usunGoscia(nazwisko)
elif (wybor == 3):
nazwisko = input("\nPodaj nazwisko szukanego goscia: ")
szukajGoscia(nazwisko)
elif (wybor < 0 or wybor > 3):
print("Nie ma takiej opcji!")
print("\nDziekuje za skorzystanie z mojego programu!")
Plik numer 2) serialization.py
import pickle
import os
def zapiszDane(daneGosci):
with open("daneGosci", "wb") as plik:
pickle.dump(daneGosci, plik)
def odczytajDane():
daneGosci = {}
statinfo = os.stat("daneGosci")
if (statinfo.st_size == 0):
return daneGosci
try:
with open("daneGosci", "rb") as plik:
daneGosci = pickle.load(plik)
except EOFError:
print("Plik jest pusty!")
return daneGosci
def dodajGoscia():
daneGosci = {}
nazwisko = input("Podaj nazwisko goscia: ")
if (szukajGoscia(nazwisko) == 1):
print("\nNie mozna dodac goscia! Istnieje juz gosc o takim nazwisku.")
return 1
imie = input("\nPodaj imie goscia: ")
adres = input("Podaj adres goscia: ")
telefon = input("Podaj telefon goscia: ")
daneGosci = odczytajDane()
daneGoscia = [imie, nazwisko, adres, telefon]
daneGosci.update({daneGoscia[0]: daneGoscia})
zapiszDane(daneGosci)
daneGoscia = []
def szukajGoscia(nazwisko):
daneGosci = {}
daneGosci = odczytajDane()
print("szukajGoscia", daneGosci)
if (daneGosci.get(nazwisko, 0) != 0):
print(daneGosci[nazwisko])
return 1
else:
print("\nNie znaleziono goscia o takim nazwisku!")
return 0
def usunGoscia(nazwisko):
daneGosci = {}
daneGosci = odczytajDane()
del daneGosci[nazwisko]
zapiszDane(daneGosci)
Po podaniu nazwiska gościa w opcji numer 1,2,3 terminal wypluwa błąd:
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'daneGosci'
Opcja 0 działa bez zarzutu terminal pokazuje:
Dziekuje za skorzystanie z mojego programu!
Ktoś ma jakiś pomysł !?
Pozdrawiam i życzę udanej Niedzieli Wszystkim