鱼C论坛

 找回密码
 立即注册
查看: 2382|回复: 9

[已解决]有哪位大佬解释一下这个报错吗

[复制链接]
发表于 2021-9-22 08:48:27 | 显示全部楼层
是编码的问题哦
  1. >>> fo = open("小米吗.txt")
  2. >>> for l in fo:
  3.     print(l)
  4.    
  5. Traceback (most recent call last):
  6.   File "<pyshell>", line 1, in <module>
  7. UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 24: illegal multibyte sequence
  8. >>> fo.close()
  9. >>> fo = open("小米吗.txt",encoding = "utf-8")
  10. >>> for l in fo:
  11.     print(l)
  12.    




  13. 我的脑海里有个词叫做应力调整



  14. 文件操作分为两种,一个是读一个是写

  15. 先说读的操作。主要是通过f = open(路径文件,'?')来实现的,将一个文件读取到内存得到一个文件对象并进行后续的操作,本质是一个数据结构。然后关于这个后面的一般是r,并且默认都是读取的,要写的话就是写w,同时读写的话就是再加上一个+,如果是打开二进制文件的就是加上个b。并且默认是使用GBK编码的文件,如果里面含有中文的话还是需要使用这个utf-8的函数

  16. 几个方法:

  17. read(),读取所有,光标从头到尾巴了,返回一个含有所有内容的字符串

  18. readline(),读取一行数据,以\n为结束标志并且一起读进来。返回值为一个含有\n的字符串

  19. readlines()也是读取完,但是是得到一个列表,每个元素相当一次readline一样。

  20. 还有一个seek的操作主要是确定这个光标的位置,0就是从头开始,2是文件末尾。只有在读取b模式的二进制文件是可以使用非0的那个偏移量。



  21. 接下来是写入

  22. write,直接写,只有一个参数,返回值是写入的字符数目
  23. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-23 03:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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