鱼C论坛

 找回密码
 立即注册
查看: 2679|回复: 5

[已解决]关于打开文件的问题

[复制链接]
发表于 2015-12-25 11:48:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
看完了28讲的,做课后习题,一直不成功!大神给看看!~

习题是打开是mp3的文件,我按照代码写的!

  1. file = open('//users//apple//downloads//OpenMe.mp3')
  2. for i in file:
  3.       print(i,end='')

  4. file.close()
复制代码


Traceback (most recent call last):
  File "/Users/apple/Documents/python/filetest.py", line 2, in <module>
    for i in file:
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb3 in position 0: ordinal not in range(128)

一直报这样的错,有些文件可以打开,这个就是不行啊!~
最佳答案
2015-12-25 20:27:13
aozhenlh 发表于 2015-12-25 18:21
Traceback (most recent call last):
  File "", line 1, in
    data2.write(data)


PS:姿势不正确 可不能插入的哦~

1. see code
  1. In [1]: ls  #mp3文件,linux命令
  2. 周艳泓 - 吓死宝宝了.mp3

  3. In [2]: pwd #我的当前路径,linux命令
  4. Out[2]: '/root'

  5. In [3]: f = open(r'/root/周艳泓 - 吓死宝宝了.mp3', 'rb') #以二进制模式打开,路径前加r可自动转义哦~

  6. In [4]: n = 1

  7. In [5]: for i in f.read(): #你没写read()哦~
  8.    ...:     while n < 5:   #读取4行
  9.    ...:         print(i)
  10.    ...:         n += 1
  11.    ...:         
  12. 73
  13. 73
  14. 73
  15. 73
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-12-25 11:49:05 | 显示全部楼层
另外我的系统是Mac OSX
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-25 15:06:03 | 显示全部楼层
默认是以ascii码模式,以二进制模式打开就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-25 18:21:00 | 显示全部楼层
VVFock3r 发表于 2015-12-25 15:06
默认是以ascii码模式,以二进制模式打开就可以了

Traceback (most recent call last):
  File "<pyshell#64>", line 1, in <module>
    data2.write(data)
TypeError: write() argument must be str, not _io.BufferedReader

我再吸入一个openme.txt,的时候就会报这样的错误了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-25 20:27:13 | 显示全部楼层    本楼为最佳答案   
aozhenlh 发表于 2015-12-25 18:21
Traceback (most recent call last):
  File "", line 1, in
    data2.write(data)


PS:姿势不正确 可不能插入的哦~

1. see code
  1. In [1]: ls  #mp3文件,linux命令
  2. 周艳泓 - 吓死宝宝了.mp3

  3. In [2]: pwd #我的当前路径,linux命令
  4. Out[2]: '/root'

  5. In [3]: f = open(r'/root/周艳泓 - 吓死宝宝了.mp3', 'rb') #以二进制模式打开,路径前加r可自动转义哦~

  6. In [4]: n = 1

  7. In [5]: for i in f.read(): #你没写read()哦~
  8.    ...:     while n < 5:   #读取4行
  9.    ...:         print(i)
  10.    ...:         n += 1
  11.    ...:         
  12. 73
  13. 73
  14. 73
  15. 73
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-26 09:35:45 From FishC Mobile | 显示全部楼层
谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 04:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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