|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
作业中动动手部分要读取一个MP3格式的文件,我按照答案打了,但是读不出来
- >>> f = open('OpenMe.mp3')
- >>> for each_line in f:
- print(each_line, end='')
- Traceback (most recent call last):
- File "<pyshell#220>", line 1, in <module>
- for each_line in f:
- UnicodeDecodeError: 'cp932' codec can't decode byte 0xfc in position 361: illegal multibyte sequence
复制代码
我对比了一下上课视频,给encoding参数赋了cp936的值就打出来了,这个该不会就是拓展名的问题吧。。?
- >>> f = open("OpenMe.mp3","rt",encoding="cp936")
- >>> f
- <_io.TextIOWrapper name='OpenMe.mp3' mode='rt' encoding='cp936'>
- >>> f.read()
- '长期使用Windows操作系统的朋友很容易被扩展名所误导,认为扩展名决定文件类型,其实这种观念是错误的!\n\n其实这就跟一个姓张的坏人,尽管把名字改为了“张好人”,但他还是一个坏人是一个道理的^_^\n\n关于文件的扩展名,初学者容易走进的误区:\n\n误区一:文件扩展名是一个文件的必要构成部分\n\n一个文件可以有或没有扩展名,对于打开文件操作,没有扩展名的文件需要选择程序去打开它,有扩展名的文件会自动用设置好的程序(如有)去尝试打开(是“尝试打开”,而不是“打开”的原因参看下面的第2个误区),文件扩展名是一个常规文件的构成部分,但一个文件并不一定需要一个扩展名。\n\n误区二:文件扩展名表明了该文件是何种类型\n\n文件扩展名可以人为设定,扩展名为TXT的文件有可能是一张图片,同样,扩展名为M-P3的文件,依然可能是一个视频。'
复制代码
另外有办法不用像动动手第一题那样复制出一个新文件,而是直接能修改旧文件后缀名的方法吗? |
|