Python小错误
来源:互联网 发布:快速剪辑软件 编辑:程序博客网 时间:2024/06/05 20:44
1.打开文件时,总是出现IOError:[Error:22]......(省略号一般写的是文件名不存在之类的英文)。但是路径与文件名完全正确。
解决方法:在路径前加r或者R,例如:
f=open(r"D:\pythontest\test.txt","w")这是因为原始字符串的一些特性。原始字符串是指没有进行转义的字符。
打开文件时出现异常是因为“\t”被当成了特殊字符进行处理,在前面加上“r/R”,便不会进行转义,才能正确打开文件。
2.打开文件后,文件无法正常读取。错误为:
<span style="font-size:18px;">ValueError: I/O operation on closed file</span>解决方法:修改f.close()的位置,缩进或者前进
这个错误一般会出现在for循环中,f.close()一般与前面代码中f=open()的缩进量相同
3.对于超出索引值得理解。
例如爬取的内容索引到11就结束了,而此时定义的range为(0,16),此时就会报错:
<span style="font-size:18px;">IndexError: list index out of range</span>
原来的理解就是只要范围比要获取的内容大,肯定不会出错。然而恰恰相反,只有定义的索引值小于其索引范围才能正常运行。比如索引范围为(1,6),定义时只要小于6才不会报错,超出6以外没有内容,索引找不到,就会出错了。
建议在使用索引前,都要用len()判断一下长度。
4.正则表达式里的“\”
在正则表达式中,匹配换行,则要写入“\n”;可是要单纯的匹配“\n”,则需要用反斜杠来进行转义,写为“\\n”。
而单独的匹配一个“\”,则需要用“\\”来进行匹配。
5.字典,序列和元组之间的转换
在某次写代码时,突然报了一个错误:
<span style="font-size:18px;">ValueError: dictionary update sequence element #0 has length 1; 2 is required</span>然后查找原因有以下发现:
<span style="font-size:18px;">>>> d={1:'a',2:'b',3:'c'}>>> d{1: 'a', 2: 'b', 3: 'c'}>>> list(d)[1, 2, 3]>>> d{1: 'a', 2: 'b', 3: 'c'}>>> tuple(d)(1, 2, 3)>>> d{1: 'a', 2: 'b', 3: 'c'}>>> a=list(d)>>> a[1, 2, 3]>>> dict(a)Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> dict(a)TypeError: cannot convert dictionary update sequence element #0 to a sequence>>> </span>可以看出:
直接声明的字典可以通过list()和tuple()分别转换成列表和元组,而列表和元组无法通过dict()转换成字典类型。
关于列表和元组转换成字典可以这样解决:
<span style="font-size:18px;">>>> L1=[1,2,3]>>> L2=['a','b','c']>>> dict(zip(L1,L2)){1: 'a', 2: 'b', 3: 'c'}>>> t1=(1,2,3)>>> t2=('a','b','c')>>> dict(zip(t1,t2)){1: 'a', 2: 'b', 3: 'c'}</span>
6.输出中文时的小错误
在pycharm中写入中文的时候,有时候是会报错的,这时候再前面加一个"u",就可以了。
在Python2.7中,两种写法都可以:
0 0
- Python小错误
- python记录小错误
- python之小错误一
- python之小错误2
- python中遇到的小错误解决方式
- Python的print命令使用中的一个小错误
- Python os.walk遍历文件夹的小错误解决办法
- 小错误
- 小错误
- 小错误
- 小错误
- 小错误
- 小错误
- 小错误
- 小错误
- 小错误
- Python错误
- python错误
- 【数据结构和算法】排序算法之三:插入排序
- HDOJ 5567 sequence1 (暴力)
- Masonry Example运行pop install问题处理
- [Leetcode]Construct Binary Tree from Inorder and Postorder Traversal
- HDU 1874 畅通工程续
- Python小错误
- 《2015最新Android基础入门教程》完结散花~
- 类型、运算符与表达式
- 排序算法-快速排序
- Caused by: android.os.NetworkOnMainThreadException错误解决办法(强制主线程做网络请求)
- 第五届全国职工职业技能大赛在杭州闭幕
- Linux系统下对树莓派镜像进行烧写操作。可搭建自己的迷你服务器
- 朴素贝叶斯分类器的应用
- 卡耐基梅隆大学教授邢波:Petuum,大数据分布式机器学习平台