遥控电香蕉 发表于 2020-4-6 14:52:33

作业29讲文件打开写入

本帖最后由 遥控电香蕉 于 2020-4-6 14:54 编辑

0)图4是左侧代码执行结果,图3是右侧代码执行结果。为什么都使用for来检测两个文件内容是否一样会出现错误结果,而使用一个for一个readline或是都是用readline就不会出错?
1)图1单独调用一行readline不会出现空格,图2打印多行或是多次调用readline却会出现空格是为啥?
2)图5打印数字、符号、英文文件内容不需要添加encoding='UTF-8'这个代码,而打印中文却需要?并且如果是用python保存的中文文字内容不需要添加代码,如果是自己写成txt的再打印出来却需要。我看答案给出的代码都不需要添加这个UTF-8呢。。
问题较多,麻烦知道的解答一下,谢谢!

heidern0612 发表于 2020-4-6 14:56:11

本帖最后由 heidern0612 于 2020-4-6 14:58 编辑

这牵涉到解码和编码方面的知识。

你只需要知道python3里面默认的编码格式统一都是unicode。

而uft-8只算是个unicode其中的一个小子集,他本身自己就带支持utf8.

GBK虽然也在unicode中,但是却算是第三方库,你得导入一下。


遥控电香蕉 发表于 2020-4-6 14:57:35

heidern0612 发表于 2020-4-6 14:56
这牵涉到解码和编码方面的知识。

你只需要知道python3里面默认的编码格式统一都是unicode。


好的谢谢
页: [1]
查看完整版本: 作业29讲文件打开写入