python代码中碰到的问题及解决
一、针对raw_input输入的字符进行类型判断及转换:
raw_input输入默认为字符,如果输入的是数字字符,想自动转换,即:输入为a,不做操作,如果输入为3,即转化为整数。
可利用try..except..的方法,让程序将raw_input()输入的值转换为int,如果输入的是‘23’则直接转换为数字23,如果输入的是‘xx’则会try失败然后运行except的部分。
#!/usr/bin/python27
#_*_ coding:utf-8 _*_ def myint(s):
if str.isdigit(s): ###对输入是否是数字进行判断
s = int(s) ###如果输出的是个数字,则转化为整数类型
else:
s = s.decode('utf-8') ###如果是字符串或汉字,则转化为unicode类型(主要是针对汉字转化,汉字默认是str)
return s
或
try:
eval(s) ###eval将字符串str当成有效的表达式来求值并返回计算结果
except NameError: ###名称错误
return s
except SyntaxError: ###语法错误 return s
else:
return eval(s) a = raw_input('please input:') print(myint(a))
特别说明:
1、加上NameError,可以防止输入字符串出现的报错:
please input:aaa
Traceback (most recent call last):
File "test.py", line 16, in <module>
print(myint(a))
File "test.py", line 6, in myint
eval(s) ###eval将字符串str当成有效的表达式来求值并返回计算结果
File "<string>", line 1, in <module>
NameError: name 'aaa' is not defined
2、加上SyntaxError,可以防止输入中文出现的报错:
please input:中国
Traceback (most recent call last):
File "test.py", line 16, in <module>
print(myint(a))
File "test.py", line 6, in myint
eval(s) ###eval将字符串str当成有效的表达式来求值并返回计算结果
File "<string>", line 1
中国
^
SyntaxError: invalid syntax
二、针对存放在字典或列表中的中文进行比对判断时,出现如下报错
ascii codec can't decode byte 0xe8 in position 0:ordinal not in range(128)
1.原因分析:字符问题。。
2.解决办法:在出现问题的脚本加上如下三行即可:
import sys
reload(sys)
sys.setdefaultencoding('utf-8') #设置默认编码
python代码中碰到的问题及解决的更多相关文章
- Kivy A to Z -- 怎样从python代码中直接訪问Android的Service
在Kivy中,通过pyjnius扩展能够间接调用Java代码,而pyjnius利用的是Java的反射机制.可是在Python对象和Java对象中转来转去总让人感觉到十分别扭.好在android提供了b ...
- pycharm运行Pytest,有没有将Pytest写入Python代码中的区别
初学pytest. 将pytest写进Python代码中 不同运行方式都可正常运行 =======================**********************========= ...
- python代码中判断版本
在python代码中判断python版本: if sys.version_info < (3, 0): lib.make_flows.argtypes = [c_char_p, c_char_p ...
- 如何在创建hive表格的python代码中导入外部文件
业务场景大概是这样的,我要对用户博文进行分词(这个步骤可以看这篇文章如何在hive调用python的时候使用第三方不存在的库-how to use external python library in ...
- 解决python代码中含有中文报错
python中写入中文时报错如下图所示: 依照网上解决方法:在py文件中加入:#encoding=utf-8 然后继续报错如下图所示: 解决方法: 在py文件中加入: import sysreload ...
- python绘图中使用公式时,解决\frac{}{}出来的字体太小的问题
在用matplotlib绘图需要在图片中加入公式时,一般要用 text 或 annotate函数,并结合latex语法 '$...$'. 对于分数,如果直接使用\frac{}{},会造成分子分母上的字 ...
- InstallShield 工程类型MSI 使用过程中碰到的问题及解决方法。
原文 http://www.cnblogs.com/daocaorenbx/p/InstallShield.html 一.安装完 桌面创建IE快捷方式: 1. install script可以直接建 ...
- python学习中遇到的错误及解决办法
1. nodename nor servname provided 原因:Python程序中有段程序调用 socket.gethostbyname(socket.gethostname()) sock ...
- python代码中pass的用法
我们有时会在方法中写一些注释代码,用来提示这个方法是干嘛的之类,看下面代码: class Game_object: def __init__(self, name): self.name = name ...
随机推荐
- JavaScript 实现彩票中随机数组的获取
1.效果图: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- Java编程中-servlet
今天将别人的项目导入eclipse之后,出现了“The import javax.servlet cannot be resolved”错误 import javax.servlet.ServletE ...
- PHP 使用 password_hash() 给密码加密
PHP >= 5.5 时,可以使用 password_hash() 和 password_verify() 来对用户的密码进行加密和验证,例如在用户注册(加密存储)和登陆(验证): <?p ...
- Blog 公用部分结构与class定义
/*博客文章公用部分class与结构 common*/ /* 1.title-block //标题块 ├── border-danger //危险红 ├── border-info //普通蓝 └── ...
- 1JavaScript简介
文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于HTML的应用程序编程接口(API,Application Programming Interface). ...
- ASP.NET Web API 2基于令牌的身份验证
基于令牌的认证 我们知道WEB网站的身份验证一般通过session或者cookie完成的,登录成功后客户端发送的任何请求都带上cookie,服务端根据客户端发送来的cookie来识别用户. WEB A ...
- Android中 Bitmap和Drawable相互转换的方法
1.Drawable->Bitmap Resources res=getResources(); Bitmap bmp=BitmapFactory.decodeResource(res, R.d ...
- http的一些事
查找资料将http中缓存相关的知识记录下 一般来说:Last-Modifed和Expires是一对,ETag和Cache-Control是一对 Last-Modified Client端跟Server ...
- Maven 实战
http://www.cnblogs.com/chowmin/category/599392.html
- jQuery工具方法
目录 常用工具方法 判断数据类型的方法 Ajax操作 $.ajax 简便写法 Ajax事件 返回值 JSONP 文件上传 参考链接 jQuery函数库提供了一个jQuery对象(简写为$),这个对象本 ...