Python使用pickle模块报错EOFError Ran out of input的解决方法

yipeiwu_com7年前Python基础

本文实例讲述了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+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例

Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例

本文实例讲述了Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能。分享给大家供大家参考,具体如下: 【吐槽】 网上的代码害死人,看着都写的言之凿凿,可运行就是...

如何使用python3获取当前路径及os.path.dirname的使用

这篇文章主要介绍了如何使用python3获取当前路径及os.path.dirname的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考...

python BlockingScheduler定时任务及其他方式的实现

本文介绍了python BlockingScheduler定时任务及其他方式的实现,具体如下: #BlockingScheduler定时任务 from apscheduler.sc...

使用rpclib进行Python网络编程时的注释问题

rpclib 是一个非常好用的 python webservice 库,可以动态的生成 wsdl, 不过这个项目已经基本停止,并被一个新的项目取代 spyne,由于旧的项目 工作已经比较...

PyTorch: 梯度下降及反向传播的实例详解

PyTorch: 梯度下降及反向传播的实例详解

线性模型 线性模型介绍 线性模型是很常见的机器学习模型,通常通过线性的公式来拟合训练数据集。训练集包括(x,y),x为特征,y为目标。如下图: 将真实值和预测值用于构建损失函数,训练的...