|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 linzhengren90 于 2018-3-18 20:09 编辑
今天刚刚学到实用python打开文件,尝试了一下基本操作,都没有问题。
- >>> f = open('Test.txt')
- >>> f.read()
- 'Test'
- >>> f.close()
复制代码
但我尝试写入中文,和读取含有中文的文档时,会出现问题:
- >>> h = open('test2.txt')
- >>> h.read()
- Traceback (most recent call last):
- File "<pyshell#28>", line 1, in <module>
- h.read()
- File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/encodings/ascii.py", line 26, in decode
- return codecs.ascii_decode(input, self.errors)[0]
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 11: ordinal not in range(128)
复制代码
- f = open('Test.txt','w')
- >>> f.write('林小宝最帅')
- Traceback (most recent call last):
- File "<pyshell#31>", line 1, in <module>
- f.write('林小宝最帅')
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
复制代码
我英语不好,是说中文的字节数超出128,所以不能操作吗? 我的电脑是Mac,系统默认语言为英文。
另外,当使用英文为默认系统的时候,很多国内程序,邮件等,中文部分都会显示为乱码,是一个原因吗?
问题补充:
我在系统自带的Terminal 里面,尝试使用python,读取该文件。我得到了结果,但没有读出中文:
- >>> i = open('test2.txt')
- >>> i.read()
- 'Test test.\n\xe6\x9e\x97\xe5\xb0\x8f\xe5\xae\x9d\xe6\x9c\x80\xe5\xb8\x85'
复制代码
请高手解答
打开文件要加上编码UTF-8.
- >>> f = open('record.txt')
- >>> f.read()
- Traceback (most recent call last):
- File "<pyshell#105>", line 1, in <module>
- f.read()
- UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 4: illegal multibyte sequence
- >>> f.close()
- >>> f = open('record.txt', encoding = 'UTF-8')
- >>> f.read()
- '小客服:小甲鱼,今天有客户问你有没有女朋友?\n小甲鱼:咦??\n小客服:我跟她说你有女朋友了!\n小甲鱼:。。。。。。\n小客服:她让你分手后考虑下她!然后跟我说:“您要买个优盘,我就帮您留一下~”\n小甲鱼:然后呢?\n小客服:她买了两个,说发一个货就好~\n小甲鱼:呃。。。。。。你真牛!\n小客服:那是,谁让我是鱼C最可爱小客服嘛~\n小甲鱼:下次有人想调戏你我不阻止~\n小客服:滚!!!\n===========================================================================\n小客服:小甲鱼,有个好评很好笑哈。\n小甲鱼:哦?\n小客服:有了小甲鱼,以后妈妈再也不用担心我的学习了~\n小甲鱼:哈哈哈,我看到丫,我还发微博了呢~\n小客服:恩恩,我看了你的微薄丫\n小甲鱼:哟西~\n小客服:那个有条回复‘左手拿着小甲鱼,右手拿着打火机,那里不会点哪里,so easy ’\n小甲鱼:呜呜\n===========================================================================\n小客服:小甲鱼,今天一个会员想找你\n小甲鱼:哦?什么事?\n小客服:她说你一个学生月薪已经超过12k了!!\n小甲鱼:哪里的?\n小客服:上海的\n小甲鱼:那正常,哪家公司?\n小客服:他没说啊。\n小甲鱼:哦\n小客服:老大,为什么我工资那么低啊??是时候涨涨工资了!!\n小甲鱼:啊,你说什么?我在外边呢,这里好吵呀。。。。。。\n小客服:滚!!!\n'
- >>> f.close()
复制代码
写文件我没有出现错误,你也加上UTF-8试试。
|
|