Python使用pickle模块报错EOFError Ran out of input的解决方法
本文实例讲述了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 用户交互输入input的4种用法详解
用户输入 1.使用input来等待用户输入.如 username = input('username:') password = input('password:') print(username,password) 2.格式化输出 第一种方法:字符串拼接 + (不建议使用,太耗内存) name = input("name:") age = input("age:") skill = input("skill:") salary = input(
-
浅谈python3中input输入的使用
今天谈一下关于python中input的一些基本用法(写给新手入门之用,故只谈比较实用的部分). 首先,我们可以看一下官方文档给我们的解释(在python的shell中输入命令即可): 上面的英文说的是什么呢?大家有兴趣的可以自己在网上翻译一下,大致说的就是input这个函数,第一个参数是提示语,它默认是空的.在我们使用input的时候,会从标准输入中读取一个string,即字符串(请注意,这里很重要,下面我们会继续说),对于用户输入的换行是不会读入的,因为我们都知道input是以换行作为输入结
-
对Python3中的input函数详解
下面介绍python3中的input函数及其在python2及pyhton3中的不同. python3中的ininput函数,首先利用help(input)函数查看函数信息: 以上信息说明input函数在python中是一个内建函数,其从标准输入中读入一个字符串,并自动忽略换行符. 也就是说所有形式的输入按字符串处理,如果想要得到其他类型的数据进行强制类型转化.默认情况下没有 提示字符串(prompt string),在给定提示字符串下,会在读入标准输入前标准输出提示字符串.如果遇 文件结束符
-
对python中raw_input()和input()的用法详解
最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> string 系统介绍中是:读取标准输入的字符串.因此,无论输入的是数字或者字符或者其他,均被视为字符格式. 如: print "Please input a num:" k = raw_input() print k print type(k) 运行结果为: Please input
-
Python采用raw_input读取输入值的方法
本文较为详细的介绍了python中raw_input的用法,使用raw_input 能够很方便的丛控制台读入数据.具体用法示例如下: 1.输入字符串 #13222319810101**** nID = '' while 1: nID = raw_input("Input your id plz") if len(nID) != len("13222319810101****"): print 'wring length of id,input again' else
-
python中input()与raw_input()的区别分析
我们来看input的源码 def input(prompt): return eval(raw_input(prompt)) 其实input也是调用了raw_input,只是做了eval处理 而eval有什么作用呢? input:会根据用户的输入来做类型的转换 raw_input:则会把用户的输入都作为一个字符串来处理 下面是详细的补充: 首先,我们知道input()和raw_input()都是用来获取控制台的输入,当然输入的时候可以加上输入提示信息: 复制代码 代码如下: a = raw_in
-
Python使用pickle模块报错EOFError Ran out of input的解决方法
本文实例讲述了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
-
Python multiprocess pool模块报错pickling error问题解决方法分析
本文实例讲述了Python multiprocess pool模块报错pickling error问题解决方法.分享给大家供大家参考,具体如下: 问题 之前在调用class内的函数用multiprocessing模块的pool函数进行多线程处理的时候报了以下下错误信息: PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed 查了下官方文档发现python默认只能pi
-
执行Python程序时模块报错问题
1. 在执行python程序时遇到 'ModuleNotFoundError: No module named 'xxxxx'' : 例如: 图片中以导入第三方的 'requests' 模块为例,此报错提示找不到requests模块.在python中,有的 模块是内置的(直接导入就能使用)有的模块是第三方的,则需要安装完成后才能导入使用,若未 安装直接导入使用就会出现上述报错!这里介绍最快的解决方法: 1)通过 pip (python软件包工具) 来安装所需要使用的第三方模块: 打开cmd输入
-
Python导包模块报错的问题解决
Python导包模块报错的问题 Moelimoe import报错No module named "xxx"的问题如何将指定目录作为项目根目录,让项目根目录下的包/模块都可以直接导入?(linux下)Python导入模块时,解释器如何定位模块:1.当前目录2.内置模块列表3.sys.path列表的目录 由于python没有定位到模块目录时出现的No module named "xxx"问题,大概有两种解决思路:1.在sys.path永久加入需要导入的模块的父目录:2
-
Maven install 报错"程序包不存在"问题的解决方法
概述 在mvn clean install时,控制台各种报错,大概有: java:[8,52] 程序包com.xxx不存在 java:[98,27] 找不到符号 符号: 类 XXX 位置: 类XXX [ERROR] COMPILATION ERROR : Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure at org.apache.maven.plugin.c
-
MySQL报错:sql_mode=only_full_group_by的4种轻松解决方法(含举例)
目录 前言 方法一:直接修改数据库配置 方法二:修改数据库配置(永久生效) 方法三:使用 any_value() 或 group_concat() 方法四:开动脑筋,修改代码 总结 前言 作为初学者,我们在使用MySQL的时候总是会遇到各种各样的报错,让人头痛不已.其中有一种报错,sql_mode=only_full_group_by,十分常见,每次都是老长的一串出现,然后带走你所有的好心情 出现这样的报错,并不是因为你的代码写得不好,而是因为在MySQL 5.7后,MySQL默认开启了SQ
-
mysql登录报错提示:ERROR 1045 (28000)的解决方法
本文分析了mysql登录报错提示:ERROR 1045 (28000)的解决方法.分享给大家供大家参考,具体如下: 一.问题: 公司linux系统的mysql数据库root用户设置过密码,但常常用命令'mysql -u root -p'登录报错,有时又能登录.登录报错信息为: [root@localhost ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localho
-
安装CentOS 6.x报错"Disk sda contains BIOS RAID metadata"解决方法
今天在安装CentOS6.2的时候,当进到检测硬盘的时候,总是过不去,报错如下: Disk sda contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sda 这种情况在Ubuntu,SUSE都有类似的情况,只是提示不太一样. 有时候是sda,有时候是sdb. 感觉是这块硬盘以前是做过raid,现在不认.怎么办. 进入安装选择菜单时 按TAB键,会进入到Linux
-
安装CentOS 6.x报错"Disk sda contains BIOS RAID metadata"解决方法
今天在安装CentOS6.2的时候,当进到检测硬盘的时候,总是过不去,报错如下: Disk sda contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sda 这种情况在Ubuntu,SUSE都有类似的情况,只是提示不太一样. 有时候是sda,有时候是sdb. 感觉是这块硬盘以前是做过raid,现在不认.怎么办. 进入安装选择菜单时 按TAB键,会进入到Linux
-
Vue.js报错Failed to resolve filter问题的解决方法
之前使用vue.js写分页功能时,写了一个过滤器,发现一个比较奇怪的错误. console控制台调试的时候,提示错误消息: Failed to resolve filter: HomePage console错误信息.jpg 我原来的写法: 原来的错误写法.jpg 错误原因: 经过自己的摸索,后来发现竟然是代码顺序错误问题. 由于先执行的pageList,后执行的Vue的过滤方法,最终调整过的写法: 修改后的正确写法.jpg 作者:=金刚= 文章地址:http://www.cnblogs.com
随机推荐
- php UEditor百度编辑器安装与使用方法分享
- Python的迭代器和生成器
- 使用 Iisftp.vbs 暂停FTP站点的方法
- Java通过jersey实现客户端图片上传示例
- asp.net MaxLengthValidator 最大长度验证控件代码
- Yii2增加验证码步骤详解
- Android实现返回拍摄的图片功能实例
- MySQL数据库设置远程访问权限方法小结
- 在模板页面的js使用办法
- php木马攻击防御之道
- 圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
- 实例学习SQL的Select命令
- jquery常用操作小结
- jquery获取input type=text中的值的各种方式(总结)
- jquery实现标签支持图文排列带上下箭头按钮的选项卡
- 用Jquery实现多级下拉框无刷新的联动
- JavaScript编程中布尔对象的基本使用
- ES6 javascript的异步操作实例详解
- 个人轻松组建宽带局域网
- 浅谈Java BitSet使用场景和代码示例