Я пишу программу на python, которая должна работать весь день, и я хочу собрать статистику о том, что было сделано, когда программа закрыта. Однако я не могу найти правильный python способ сделать это. Я пробовал блок «попробовать-кроме» с глобальными переменными, но когда я принудительно остановил его в терминале, ничего не печаталось.
Чтобы быть более ясным в отношении проблемы и ее кода, моя программа продолжает работать с базой данных о ценах на акции. и пытается найти арбитраж между двумя разными обменами. Я хочу напечатать, сколько проверок и арбитражей было найдено во время работы. Упрощенный код для справки:
import list_of_stocks # my handmade list of stocks to be checked in the database
import arbitrage_tools # functions to check for arbitrage
#statistics
arbitrage_checks = 0
total_arbitrages = 0
def main():
global arbitrage_checks
global total_arbitrages
list_of_stocks = default_list_of_stocks # setting the real list of stocks to be checked
while True:
for stock in list_of_stocks:
arbitrage_checks += 1
found_arbitrage = arbitrage_tools.check(stock) # checks stock prices in two exchanges and returns true or false
if found_arbitrage:
total_arbitrages += 1
if __name__ == "__main__":
try:
main()
finally:
print(f"Arbitrage checks: {arbitrage_checks}")
print(f"Arbitrages found: {total_arbitrages}")
Заранее спасибо!