Python编程报错错误总结

1. IndexError: list assignment index out of range

原因
1.向空列表,直接按索引值向其中添加东西时,会报错,因为空的列表不能直接指定其位置, 即空列表索引值不确定;声明了一个空的列表 li = [],你肯定不会认为 li[0] 是合法的吧?

bug 代码

li = []
li[0] = 1
print(li)

报错信息
在这里插入图片描述
解决办法

  1. 用append(()方法
li = []
li.append(2021)
print(li)

拓展
想想其他的空容器,装东西(赋值)同理

2.(unicode error) ‘unicodeescape’ codec can’t decode bytes inposition 2-3: truncated wUXXXXXXXX escape


参考链接


bug 代码

with open("C:\Users\donghuochong\Desktop\test\26.txt", "r") as f:
    print(f.read())

报错信息
在这里插入图片描述
原因
1.在文件夹中复制地址时,文件夹中的地址是用 \ 来分隔不同文件夹的,而程序地址中出现转义字符,进而报错,Python识别地址时只能识别用 / 分隔的地址(?摘自网络,有待检验)。

解决办法

1.在字符串前加上r或R

即:

with open(r"C:\Users\donghuochong\Desktop\test\26.txt", "r") as f:
    print(f.read())

其中r或R表示该字符串是非转义的原始字符串。

2.在“\”前加上”\”实现转义。

即:

with open("C:\\Users\\donghuochong\\Desktop\\test\\26.txt", "r") as f:
    print(f.read())

3.将“\”换为“/”

即:

with open("C:/Users/donghuochong/Desktop/test/26.txt", "r") as f:
    print(f.read())


最后:补充一下python字符串前缀的知识:
1、在字符串前加上r或R表示该字符串是非转义的原始字符串。
2、在字符串前加上u或U表示该字符串是unicode字符串。

3.打开UTF-8编码格式的记事本,里面的中文内容出现乱码

在这里插入图片描述
bug 代码

运行环境:IDLE(Python 3.9 64-bit)

with open("C:\Users\donghuochong\Desktop\test\26.txt", "r") as f:
    print(f.read())

报错如下
在这里插入图片描述
原因
编码格式不一致,本系统IDLE默认GBK编码格式(有待检验),而记事本格式UTF-8。

解决办法

open函数里面参数添加“ encoding=‘UTF-8’ ”

with open("C:/Users/donghuochong/Desktop/test/26.txt", "r", encoding='UTF-8') as f:
    print(f.read())

4.PermissionError: [Errno 13] Permission denied: ‘C:\Users\hao\Desktop\test.xlsx’

参考链接

权限拒绝,一般这种情况 是由于代码中用到的某些文件正在被其他软件所使用,不能更改或读取

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰望青空

这篇博文你知道我瘦了多少斤吗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值