Python pickle模块EOFError异常处理与用户数据持久化示例

七月
七月
发布时间:2026-10-13 | 6人浏览过
原创

本文介绍Python中使用pickle模块进行数据持久化时遇到的EOFError:Ran out of input错误。通过示例代码展示如何利用try-except捕获该异常并返回None,从而避免程序崩溃。同时提供了一个完整的用户注册与登录框架,演示如何安全地读写.pkl文件,适用于需要本地存储用户信息的场景。

本文分享一个Python中使用pickle模块时触发EOFError:Ran out of input错误的解决方案,供读者参考。

当遇到EOFError:Ran out of input错误且不确定具体原因时,可以通过捕获异常的方式进行处理。这种方法暂时对程序主体逻辑没有负面影响,具体实现代码如下:

# coding=utf-8
import pickle
def usr_date():
  try:
    with open('usr_date.pkl','rb') as f:
      return pickle.load(f)
  except EOFError: #捕获异常EOFError 后返回None
    return None
def update_usr(usr_dic):
  with open('usr_date.pkl','wb') as f:
     pickle.dump(usr_dic,f)
def register():
  '注册'
  usr_dic = {}
  usr_name = input('请输入用户名')
  open_date = usr_date() if usr_date() else {}
  if usr_name in open_date.keys():
    print('用户已存在,请登录')
    return False
  usr_password = input('请输入你的密码:')
  usr_dic[usr_name] = usr_password
  update_usr(usr_dic)
  return print('注册成功')
def Sign_in():
  '登录'
  pass
def login_index():
  while True:
    usr = input('1.注册 2.登录 0.退出')
    if usr == '1':
      register()
    elif usr =='2':
      Sign_in()
    else:
      break

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python进程与线程操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表