我目前正在尝试从外部服务器下载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('/', '-')
来删除文件中的任何路径混淆。我该怎么办呢。
答案 0 :(得分:2)
我认为应该责怪"
字符。引用http://support.microsoft.com/kb/177506
文件名不能包含以下任何字符:\ /:*? " < > |
我手边没有Windows框来检查,但所有其他字符似乎都没问题。