Модуль Python Pickle: обработка исключений со списками загрузки - PullRequest
0 голосов
/ 24 ноября 2018

Я студент-программист и занимаюсь простым проектом, который создает список на основе пользовательских критериев

У меня проблемы с этой частью с помощью функции Pickle.Как я могу сделать так, что если пользователь вводит список, которого нет в каталоге, он напечатает сообщение об ошибке и не вылетит код.

Мой учитель сказал, что это называется обработкой исключений.

Я просто хочу, чтобы он не падал, а вместо этого попросил пользователя ввести другое имя.

Вот мой код.

    import pickle

GetList = input("Enter the List to load: ")

with open(GetList, 'rb') as f:
    mylist = pickle.load(f)

print(mylist)
print(J)

1 Ответ

0 голосов
/ 24 ноября 2018

Вы можете просто вложить цикл try в цикл while, чтобы продолжать запрашивать у пользователя другое имя файла, если оно не работает.

import pickle

while True:
    try:
        GetList = input("Enter the List to load: ")
        with open(GetList, 'rb') as f:
            mylist = pickle.load(f)
    except (IOError, OSError, pickle.PickleError, pickle.UnpicklingError):
        print("Not a valid file please try again")
    else:
        break

Надеюсь, это поможет.

...