• Python Как сделать что бы программа не выходила после выполнения?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    from SimpleQIWI import *
    import sys
    
    # TODO: переименовать. Большими буквами именуются обычно константы.
    # здесь TOKEN лучше переименовать в token_file_name
    TOKEN = input('Введите путь к токену : ')
    PHONE = input('Введите номер телефона : ')
    
    # TODO: Обработать ошибку загрузки токена
    with open(TOKEN, 'r') as f:
        # TODO: переименовать. get_token - это плохое имя переменной 
        # для хранения токена. Лучше просто token или auth_token
        GET_TOKEN = f.readline()
    
    # TODO: Обработать ошибку некорректного/просроченного токена
    api = QApi(token=GET_TOKEN, phone=PHONE)
    
    while True:
        print('------------')
        print('[1] - Посмотреть баланс', '\n[2] - Отправить деньги', '\n[3] - Получить входящие платежи', '\n[4] - Выход')
    
        user = input()
    
        if user == '1':
          try:
            print('------------', '\nВаш баланс составляет : ' + str( api.balance ))
    
          except Exception:
            # TODO: Исследовать классы возможных ошибок 
            # и сделать целевые обработчики на уровне итерации цикла
            # чтобы не перегружать код этой обработкой
            print('Error\n' + str( sys.exc_info()[ 1 ] ))
    
        elif user == '2':
          print( '------------', '\n')
          # TODO: Сделать словарь с кэшем вводившихся ранее значений
          # чтобы не вводить повторно при ошибках
          payee_phone = input('Введите номер телефона получателя ( в международном формате + ) : ')
          payee_amount = input('Введите сумму перевода ( в рублях ) : ')
          payee_comment = input('Введите комментарий к переводу ( необязательно ) : ')
    
          try:
            api.pay(account=payee_phone, amount=payee_amount, comment=payee_comment)
    
          except Exception:
            print( 'Error\n' + str( sys.exc_info()[ 1 ] ) )
            print( '\nЕсли вы указали свой номер, то платеж будет невозможен!' ) 
    
        elif user == '3':
          print( '------------\n' )
          print( 'Функция временно не доступна' )
    
        elif user == '4':
          sys.exit()
    
        else:
          print( '\nТакого метода не существует!' )
    Ответ написан
    Комментировать