Функция логирования для запоминания логической функции - PullRequest
0 голосов
/ 17 сентября 2018

так что сейчас у меня есть бот, который изменит логическое значение, если что-то происходит. Теперь я также использую API для этого бота, поэтому не исключено, что произойдет ошибка соединения, поэтому я хочу, чтобы бот сделал, чтобы он помнил, если бот уже поменял логическое значение "x" на False / True вместо логического значения по умолчанию при возникновении исключений. Мой код выглядит примерно так:

def boolean():
   try:
      x = False

      if x == False:
         if a >= b:
           do = something
           x = True

      elif x == True:
         if a <= b:
           do = something
           x = False

Теперь это мой код, поэтому, когда возникают проблемы с подключением, я помещаю код Исключения, чтобы программа попыталась снова попытаться запустить def boolean (), поэтому код выглядит примерно так:

except Exceptions as e:
      print(e)
      time.sleep(10)
      boolean()

и вот где мне нужна помощь, потому что, если бот уже меняет логическое значение "x" на "True", а затем произошла ошибка соединения, а затем программа перезапускается снова, тогда для "x" будет установлено значение по умолчанию логическое значение, которое равно «False», и я не хочу, чтобы это произошло, поэтому я хочу, чтобы программа запомнила, изменило ли оно уже логическое значение «x» или нет. Я застрял с этими проблемами, поэтому мне нужна ваша помощь.

1 Ответ

0 голосов
/ 17 сентября 2018

Вы можете использовать файлы JSON для сохранения настроек. Иметь файл json с исходной логической настройкой (назовем его settings.json):

{
  "x": false
}

Затем в вашем коде загрузите файл json в начале, загрузите логическое значение. Затем, когда булево значение изменяется, запишите его в файл json:

import json

with open("settings.json", "r") as jsonFile:
    data = json.load(jsonFile)

x = data["x"]

.... blah blah code
....
# Modifying x
x = True
data["x"] = x

with open("settings.json", "w") as jsonFile:
    json.dump(data, jsonFile)
...