python比较偏的错误

本文分享了在Python中遇到的一些不常见的错误,包括文件操作的两个陷阱:一是误用+模式导致的ValueError,二是os库操作文件时的非UTF-8编码错误。此外,还讨论了在Python连接MySQL8时遇到的警告,关于整数数据类型显示宽度的弃用问题。

1.python文件操作的坑一:+

跑去看了基础语法,以为有个+模式可以读写操作,感觉好简洁,结果用的时候就emmmm

出现以下错误:

ValueError: Must have exactly one of create/read/write/append mode and at most one plus

非常奇怪,语法里不是有这个模式的吗?

结果,,

其实错了,理解错了,+需要和其他模式结合使用,例如:

#+需要和a/r/w/x结合使用,并且添加追加功能,相当于模式a,即写文件不删除原内容
with open(r"lianxi.txt","r+",encoding="utf-8") as f:
    f.write("xinjiade")
    print(f.readlines())

一顿操作下来,暴露了自己智商低,哈哈哈!

2.python文件操作的坑二:os

os标准库操作文件时可能会出现以下错误:

SyntaxError: Non-UTF-8 code starting with ‘\xb5’…

需要在py文件开头加上编码,例如:

# coding = utf-8
3.python对MySQL8的坑一:

我使用的是MySQL8.0版本,所以有一次就出现了以下问题:

Warning: (1681, ‘Integer display width is deprecated and will be removed in a future release.’)
result = self._query(query)

意思是:

对于整数数据类型如INT [M],M指示显示宽度,对于浮点和定点数据类型, M是可以存储的总位数。从MySQL 8.0.17开始,对于整数数据类型,不建议使用display width属性,即不用M显示宽度,并且在将来的MySQL版本中将删除对它的支持。

所以在写SQL语句使用int时,避免指定宽度。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值