IOError:[Errno 22]在尝试写入文件时

时间:2015-01-03 19:33:36

标签: python python-2.7 urllib2

我目前正在尝试从外部服务器下载mp3文件。我已经下载了104首歌曲。但是,我的节目失败了一首歌。该文件的标题是

  

"奇怪的Al"扬科维奇 - 超级英雄的颂歌(模仿"钢琴侠"比利乔尔).mp3

失败的代码行是这些

mp3file = urllib2.urlopen(url)
output = open(filename, 'wb')
output.write(mp3file.read())

传递的文件路径是

  

C:\ Users \ GTX980 \ Music \ Music \" Weird Al"扬科维奇 - 超级英雄的颂歌(模仿"钢琴侠"比利乔尔).mp3

它从标题中给出了错误。这里是完整的

  

IOError:[Errno 22]无效模式(' wb')或文件名:' C:\ Users \ GTX980 \ Music \ Music \" Weird Al"扬科维奇 - 超级英雄的颂歌(模仿"钢琴侠"比利乔尔).mp3'

正如我之前所说的那样,目前已下载了104首歌曲。我使用.replace('/', '-')来删除文件中的任何路径混淆。我该怎么办呢。

1 个答案:

答案 0 :(得分:2)

我认为应该责怪"字符。引用http://support.microsoft.com/kb/177506

  

文件名不能包含以下任何字符:\ /:*?   " < > |

我手边没有Windows框来检查,但所有其他字符似乎都没问题。