Messj 发表于 2017-6-9 23:25:39

从零学python第28讲动动手0

题目是将MP3文件打印到屏幕上。
这是我写的:
f=open('熟能生巧.mp3')
for each_line in f:
    print(each_line,end=' ')
f.close()



结果报错了:


Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
    for each_line in f:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 47: illegal multibyte sequence

这是一个什么样的错误,有大神能解释下吗?

冬雪雪冬 发表于 2017-6-9 23:35:45

你的熟能生巧.mp3是文本文件吗?

Messj 发表于 2017-6-10 09:22:56

冬雪雪冬 发表于 2017-6-9 23:35
你的熟能生巧.mp3是文本文件吗?

是从qq音乐里下的,MP3文件不能直接打开吗

冬雪雪冬 发表于 2017-6-10 09:39:06

Messj 发表于 2017-6-10 09:22
是从qq音乐里下的,MP3文件不能直接打开吗

你的程序是打开扩展名为mp3,但实际内容为文本文件的。
如果是二进制文件,需在打开时加上"rb",另外也无法for循环读取,无法直接打印。

Messj 发表于 2017-6-10 10:21:54

那小甲鱼的课后题怎么能做到的呢?

冬雪雪冬 发表于 2017-6-10 23:04:53

Messj 发表于 2017-6-10 10:21
那小甲鱼的课后题怎么能做到的呢?

小甲鱼的文件就是文本文件,只是扩展名改成mp3了。

Messj 发表于 2017-6-11 00:15:29

冬雪雪冬 发表于 2017-6-10 23:04
小甲鱼的文件就是文本文件,只是扩展名改成mp3了。

......


万分尴尬


还是谢谢你啦
页: [1]
查看完整版本: 从零学python第28讲动动手0