爱笑的无赖 发表于 2022-5-10 10:37:37

028动动手问题

028的动动手问题。 要求打开一个MP3文件

f = open('/Users/Ron/Desktop/OpenMe.mp3')
for each in f:
        print(each, end = '')

f.close()

这是我的代码 , 貌似跟答案没什么区别但是我这个报错了。
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 0: invalid start byte

难道是因为我用的是mac系统的问题吗?

Twilight6 发表于 2022-5-10 10:38:50

本帖最后由 Twilight6 于 2022-5-10 10:39 编辑



编码错误,不是系统问题,文件编码和Python读取的编码不一致,导致编码错误

试试在 open 参数中加入 encoding = "gbk":

f = open('/Users/Ron/Desktop/OpenMe.mp3', encoding="gbk")

isdkz 发表于 2022-5-10 10:39:27

mp3 是二进制文件,不能以文本模式打开

f = open('/Users/Ron/Desktop/OpenMe.mp3', 'rb')
for each in f:
      print(each, end = '')

f.close()

Twilight6 发表于 2022-5-10 10:40:42

isdkz 发表于 2022-5-10 10:39
mp3 是二进制文件,不能以文本模式打开



这节课的这个文件是改了后缀的,本质上就是 txt

爱笑的无赖 发表于 2022-5-10 10:44:43

Twilight6 发表于 2022-5-10 10:40
这节课的这个文件是改了后缀的,本质上就是 txt

嗯嗯。 手动用txt方式打开了。{:5_107:}

Twilight6 发表于 2022-5-10 10:45:54

爱笑的无赖 发表于 2022-5-10 10:44
嗯嗯。 手动用txt方式打开了。



这节课就是叫你用正常方式打开,不是二进制打开

isdkz 发表于 2022-5-10 10:48:15

Twilight6 发表于 2022-5-10 10:40
这节课的这个文件是改了后缀的,本质上就是 txt

好吧{:10_277:}

wp231957 发表于 2022-5-10 10:55:14

isdkz 发表于 2022-5-10 10:48
好吧

小甲鱼就是个坑,它非要把纯文本文件后缀改成mp3,给小白忽悠一愣一愣的

isdkz 发表于 2022-5-10 10:56:56

wp231957 发表于 2022-5-10 10:55
小甲鱼就是个坑,它非要把纯文本文件后缀改成mp3,给小白忽悠一愣一愣的

哈哈哈,我也觉得小甲鱼的课程对小白不太友好

爱笑的无赖 发表于 2022-5-10 17:22:21

Twilight6 发表于 2022-5-10 10:45
这节课就是叫你用正常方式打开,不是二进制打开

{:5_107:}
页: [1]
查看完整版本: 028动动手问题