У меня есть 3 файла рассола, в которые добавляются данные отдельно через 3 переменные recipeNames = []
, ingredients = {}
, procedure = {}
. Ниже приведен способ проверки существования файла и загрузки данных. Всякий раз, когда я запускаю свою программу, 3 переменные пусты, когда они печатаются после загрузки.
recipeNames = []
ingredients = {}
procedure = {}
# --------------------------------------
if path.exists('RecipeNames.pickle'):
with open("RecipeNames.pickle", "rb") as r:
recipeNames = pickle.load(r)
print(recipeNames)
if not path.exists('RecipeNames.pickle'):
with open("RecipeNames.pickle", "wb") as r:
recipeNames = []
pickle.dump(recipeNames, r)
# ---------------------------------------
if path.exists('Ingredients.pickle'):
with open("Ingredients.pickle", "rb") as i:
ingredients = pickle.load(i)
print(ingredients)
if not path.exists("Ingredients.pickle"):
with open("Ingredients.pickle", "wb") as i:
pickle.dump(ingredients, i)
# ---------------------------------------
if path.exists('Procedure.pickle'):
with open("Procedure.pickle", "rb") as p:
procedure = pickle.load(p)
print(procedure)
if not path.exists("Procedure.pickle"):
with open("Procedure.pickle", "wb") as p:
pickle.dump(procedure, p)
У меня есть функция, которую я использую для сохранения данных, когда это необходимо, она приведена ниже.
def save():
with open("RecipeNames.pickle", "ab") as r:
pickle.dump(recipeNames, r)
with open("Ingredients.pickle", "ab") as i:
pickle.dump(ingredients, i)
with open("Procedure.pickle", "ab") as p:
pickle.dump(procedure, p)