Как сделать так, чтобы функция try в PYTHON выполнялась только один раз, кроме как много раз? - PullRequest
0 голосов
/ 22 января 2020

Как я могу заставить мой скрипт печатать "число" только один раз, если "попытка" идет правильно и не показывает ошибок?

Когда он идет не так, я хочу, чтобы он продолжал пробовать и печатать (" Ошибка. Попытка: "+ str (x)). Но если все пойдет хорошо, я хочу, чтобы он напечатал (число) только один раз.

Этот скрипт был создан для того, чтобы отслеживать, когда в папке создается определенная электронная таблица Excel. Когда он находится в папке, я хочу, чтобы скрипт печатал (число).

Проблема заключается в том, что когда Excel уже находится в папке, скрипт продолжает печатать (число) 16 раз, пока не завершится num_retries.

num_retries = 16
interval = 2

for x in range(1, num_retries): 
    try:
        result = open("I:/workbook.xls")
        import xlrd
        workbook = xlrd.open_workbook("I:/workbook.xls")
        worksheet = workbook.sheet_by_name("sheet1")
        number = worksheet.cell(3, 13).value
        print(number)

    except:
        sleep(interval)
        print("Error. Attempt: " + str(x))
        pass

Спасибо!

1 Ответ

1 голос
/ 22 января 2020

Добавьте break после вашего print(number), поэтому, когда он получит правильное число, если выпрыгнет из l oop. Ваш код будет выглядеть так:

for x in range(1, num_retries): 
    try:
        result = open("I:/workbook.xls")
        import xlrd
        workbook = xlrd.open_workbook("I:/workbook.xls")
        worksheet = workbook.sheet_by_name("sheet1")
        number = worksheet.cell(3, 13).value
        print(number)
        break

    except:
        sleep(interval)
        print("Error. Attempt: " + str(x))
        pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...