gpt4 book ai didi

python - 在 Windows 中使用 Python 下载 Mp3 会损坏歌曲,但在 Linux 中不会

转载 作者:行者123 更新时间:2023-12-04 22:08:24 24 4
gpt4 key购买 nike

我已经设置了一个脚本来使用 Python 中的 urllib2 下载 mp3。

url = 'example.com'
req2 = urllib2.Request(url)
response = urllib2.urlopen(req2)

#grab the data
data = response.read()

mp3Name = "song.mp3"
song = open(mp3Name, "w")
song.write(data) # was data2
song.close()

原来它与我在 Windows 或我当前的 Python 版本上下载它有某种关系。我在我的 Ubuntu 发行版上测试了代码,mp3 文件下载得非常好......所以我只使用了简单的 urllib2.openurl方法,效果很好!

总结一下:
  • 我正在使用 urllib2.openurl在 Ubuntu 发行版上的 Python 中。
  • 我正在使用较新版本的 Python,但我觉得不可能。
  • mp3 以 LAME 编码。

  • 有没有人知道是什么导致了在我的 Windows 机器上运行代码的奇怪问题?我想知道为什么在 Windows 上下载会损坏 mp3?

    最佳答案

    尝试二进制文件模式。 open(mp3Name, "wb")您可能会收到行尾翻译。

    该文件是二进制的,是的。这是不是的模式。打开文件时,可以将其设置为文本文件(这是默认设置)。当它这样做时,它会转换行尾以匹配平台。在 Windows 上,行尾是 \r\n在大多数其他地方,它要么是 \r\n .这种变化弄乱了数据流。

    关于python - 在 Windows 中使用 Python 下载 Mp3 会损坏歌曲,但在 Linux 中不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3878882/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com