Python使用pickle模块报错EOFError Ran out of input的解决方法
本文实例讲述了Python使用pickle模块报错EOFErrorRanoutofinput的解决方法。分享给大家供大家参考,具体如下:
遇到了EOFError:Ranoutofinput不到为什么这样,最后用捕获异常的办法解决掉了,暂时对程序本身没有啥影响,代码如下:
#coding=utf-8
importpickle
defusr_date():
try:
withopen('usr_date.pkl','rb')asf:
returnpickle.load(f)
exceptEOFError:#捕获异常EOFError后返回None
returnNone
defupdate_usr(usr_dic):
withopen('usr_date.pkl','wb')asf:
pickle.dump(usr_dic,f)
defregister():
'注册'
usr_dic={}
usr_name=input('请输入用户名')
open_date=usr_date()ifusr_date()else{}
ifusr_nameinopen_date.keys():
print('用户已存在,请登录')
returnFalse
usr_password=input('请输入你的密码:')
usr_dic[usr_name]=usr_password
update_usr(usr_dic)
returnprint('注册成功')
defSign_in():
'登录'
pass
deflogin_index():
whileTrue:
usr=input('1.注册2.登录0.退出')
ifusr=='1':
register()
elifusr=='2':
Sign_in()
else:
break
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python进程与线程操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。