Python Pickle 模块:加载列表的异常处理

Python Pickle Module: Exception Handling with loading lists

我是一名编程学生,正在做一个基于用户标准创建列表的简单项目

我在使用 Pickle 函数时遇到了这部分问题。如果用户输入不在目录中的列表,我该如何做到这一点,它会打印一条错误消息而不会使代码崩溃。

老师说这叫异常处理

我只是希望它不会崩溃,而是要求用户输入另一个名字。

这是我的代码。

    import pickle

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

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

print(mylist)
print(J)

您可以简单地在 while 循环中嵌套一个 try catch,以在它不起作用时继续询问用户不同的文件名。

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

希望对您有所帮助。