鱼C论坛

 找回密码
 立即注册
查看: 2384|回复: 4

为什么Python读取‘.py’文件的时候发生UniCodeDecodeError?

[复制链接]
发表于 2016-2-13 19:47:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 吕浩 于 2016-2-13 19:49 编辑

这是第35课后习题,计算你的所有文件编码行数。但是我的".py"文件都是读取失败?原因是UniCodeDecodeError,请问各位用什么方法才能读取?C:\\Users\\lvhao\\Desktop\\111.png


PS:为什么用Python计算 以下乘法,小数点位数不一样
>>> 29.4 * 23
676.1999999999999
>>> 29.3*23
673.9

谢谢
111.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-2-13 20:35:43 | 显示全部楼层
1.计算机在算数时是以2进制进行的,转换成十进制会有误差。所以浮点数输出时一般限定位数。
如:
  1. >>> print('%.1f'%(29.4*23))
  2. 676.2
  3. >>> print('%.1f'%(29.3*23))
  4. 673.9
复制代码

2.python对中文文件的读写是有些麻烦,需选取合适的编码方式,open函数有个变量 encoding,中文可选 utf-8,或者文本文件保存时选择编码ansi,encoding可以使用缺省。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-15 10:23:51 | 显示全部楼层
冬雪雪冬 发表于 2016-2-13 20:35
1.计算机在算数时是以2进制进行的,转换成十进制会有误差。所以浮点数输出时一般限定位数。
如:

恩恩,这样我就懂了,谢谢啦!应该后续的课程会讲到。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2016-2-16 17:17:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-16 20:22:20 | 显示全部楼层
吕浩 发表于 2016-2-15 10:23
恩恩,这样我就懂了,谢谢啦!应该后续的课程会讲到。。。

UniCodeDecodeError,具体应该怎么编写代码才能正确读取文件。谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-19 15:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表