Форум сайта python.su
0
Добрый день!
Необходимо произвести вводов имени файла, если файл с таким именем не найден (возникает ошибка FileNotFoundError).
Необходим рабочий кусок кода для возможности повторного введения имени файла (без ограничений количества попыток).
Мой код ограничен по количеству попыток ввода (в данном примере всего две попытки):
try:
file_name = str(input('Введите имя текстового файла: ‘))
except FileNotFoundError:
pass
else:
print(’Файл найден!')
finally:
file_name = str(input('Введите имя текстового файла: '))
Большое спасибо!
Офлайн
186
import os def getFileName(): name = input("Введите имя текстового файла: ") if os.path.isfile(name): return name return getFileName()
Отредактировано Rodegast (Сен. 6, 2018 14:41:24)
Офлайн
857
>>> 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' >>>
Офлайн