废话不多说,看题:请指出下面代码段中的错误
>>> f = open("test.txt", mode="w")
>>> f.write(u"python阿喵")
分析:Python 提供了内建函数 open 用于读写文件,函数返回一个文件对象,可对文件进行读、写操作,用参数 mode 来控制。
| 参数 | 说明 |
|---|---|
| r | 读文件(默认) |
| w | 写文件 (如果文件中有内容,已有的内容将被覆盖) |
| a | 写文件(如果文件中有内容,新内容追后到文件后面) |
默认是读文件
>>> f = open("test.txt")
>>> f.read()
python阿喵
上面这段代码如果在python2中运行,会报错:
Traceback (most recent call last):
File ““, line 1, in
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 6-7: ordinal not in range(128)
这是一个字符编码的问题,编码错误是Python程序员最经常遇到的错误,之前在公众号中写过关于编码错误的原因。
之所以报错是程序没法直接保存 unicode 字符串,要经过编码转换成而 str 类型的二进制字节序列才能够保存。
write 方法会自

本文分析了Python读写文件时常见的错误,包括Unicode编码问题和文件关闭方式。强调了使用`with`语句进行文件操作的必要性,并提供了兼容Python2和3的`open`函数用法,以确保代码的正确性和资源管理。
最低0.47元/天 解锁文章
1827

被折叠的 条评论
为什么被折叠?



