Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 6, 2018 14:06:12

Sador
Зарегистрирован: 2018-09-06
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка ошибки FileNotFoundError

Добрый день!
Необходимо произвести вводов имени файла, если файл с таким именем не найден (возникает ошибка FileNotFoundError).
Необходим рабочий кусок кода для возможности повторного введения имени файла (без ограничений количества попыток).
Мой код ограничен по количеству попыток ввода (в данном примере всего две попытки):
try:
file_name = str(input('Введите имя текстового файла: ‘))
except FileNotFoundError:
pass
else:
print(’Файл найден!')
finally:
file_name = str(input('Введите имя текстового файла: '))

Большое спасибо!

Офлайн

#2 Сен. 6, 2018 14:38:55

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

Обработка ошибки FileNotFoundError

 import os
def getFileName():
    name = input("Введите имя текстового файла: ")
    if os.path.isfile(name):
        return name
    return getFileName()



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Сен. 6, 2018 14:41:24)

Офлайн

#3 Сен. 7, 2018 00:12:49

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Обработка ошибки FileNotFoundError

  
>>> import os
>>> 
>>> def get_filename():
...     out = None
...     while True:
...         out = input('Введите имя текстового файла: ')
...         if not os.path.isfile(out):
...             print('Нет такого файла')
...         else:
...             break
...     return out
... 
>>> get_filename()
Введите имя текстового файла: a
Нет такого файла
Введите имя текстового файла: b
Нет такого файла
Введите имя текстового файла: c
Нет такого файла
Введите имя текстового файла: /etc/passwd
'/etc/passwd'
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version