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设计模式之建造者模式实例详解

Python设计模式之建造者模式实例详解

本文实例讲述了Python设计模式之建造者模式。分享给大家供大家参考,具体如下: 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以...

详解python中asyncio模块

一直对asyncio这个库比较感兴趣,毕竟这是官网也非常推荐的一个实现高并发的一个模块,python也是在python 3.4中引入了协程的概念。也通过这次整理更加深刻理解这个模块的使用...

python自动保存百度盘资源到百度盘中的实例代码

python自动保存百度盘资源到百度盘中的实例代码

本实例的实现逻辑是,应用selenium UI自动化登录百度盘,读取存储百度分享地址和提取码的txt文档,打开百度盘分享地址,填入提取码,然后保存到指定的目录中 全部代码如下: #...

PyTorch加载预训练模型实例(pretrained)

使用预训练模型的代码如下: # 加载预训练模型 resNet50 = models.resnet50(pretrained=True) ResNet50 = ResNet(Bot...

在Python中封装GObject模块进行图形化程序编程的教程

在Python中封装GObject模块进行图形化程序编程的教程

Python 是用于编码图形界面的极佳语言。由于可以迅速地编写工作代码并且不需要费时的编译周期, 所以可以立即使界面启动和运行起来,并且不久便可使用这些界面。 将这一点与 Python...