/ / Najłatwiejszy sposób na zapisanie danych gry dla gry mastermind. [duplikat] - python

Najłatwiejszy sposób na zapisywanie danych gry dla gry mastermind. [duplicate] - python

Szukam najprostszego sposobu zapisywania i ładowaniagamedata dla gry typu mastermind. W tej chwili należy ocalić, liczbę granych kolorów, liczbę granych kołków, liczbę zgadnięć i faktyczną odpowiedź. W tej chwili zapisuję wszystkie te informacje w pliku tekstowym. Mam problem z załadowaniem tych informacji z powrotem do gry i natknąłem się na coś, co nazywa się wytrawianiem. Przeczytałem o tym trochę, ale nie do końca rozumiem, jak to działa i czym różni się od tego, co próbuję zrobić.

Dzięki!

Odpowiedzi:

1 dla odpowiedzi № 1

Wytrawianie to metoda serializacji - utrwalanie danych na dysku.

Jeśli chcesz, możesz poradzić sobie z ręcznym marynowaniem / odkrawaniem. Ale poprosiłeś o najprostszy sposób - python ma to. Po prostu użyj shelve:

import shelve

d = shelve.open("my_mastermind_shelf")

To jest ... to. Teraz wystarczy leczyć d tak jak traktowałbyś każdy inny dict; shelve radzi sobie ze wszystkimi piklowaniami za kulisami. Jedyne zastrzeżenie: pamiętaj, aby nazwać to .close() metoda, gdy skończysz z tym.


0 dla odpowiedzi nr 2

Jak powiedziałem w moim komentarzu, możesz użyć prostego pliku tekstowego, aby zapisać bieżący stan gry. Możesz użyć otwarty() aby otworzyć (nowy) plik. Zwykle wygląda to tak:

fname = raw_input("Put in the filename: ")

f = open(fname, "w")    # This opens the text file for write operations.
# If the file already exists, it will truncate it.
# If not, then it will creaate a new file.

f.write("Hey, I"m a hippie coder, ho.") # Or, whatever string you want.
# You don"t have to be a hippie coder.

f.close()

Aha, i nie przejmuj się moim biednym przykładem. Tu jest czwarta rano i powinienem być w łóżku.