【问题标题】:download file in python在python中下载文件
【发布时间】:2011-03-03 20:52:13
【问题描述】:

当我想用这个代码在 python 中下载 jpeg 时:

def download(url, dest):
    s = urllib2.urlopen(url)
    content = s.read()
    s.close()
    d = open(dest,'w')
    d.write(content)
    d.close()

硬盘上的文件不可读,但是当我在 mozilla 中打开 jpeg 时,它没问题, 我正在使用 Windows 和 python 2.6 一些解决方案?谢谢

【问题讨论】:

  • 肯定是一个为您下载的功能会是一个更好的答案吗?这个允许报告挂钩,并设置下载位置

标签: python download


【解决方案1】:

您正在以文本模式打开文件并损坏它。 Python 将某些字节序列解释为 EOL 字符,并将它们写为该操作系统的适当 EOL。您需要告诉 Python 以二进制模式打开目标文件。

d = open(dest,'w') 更改为d = open(dest,'wb'),一切都会正常工作。

【讨论】:

    【解决方案2】:

    对于 2.x?

    import urllib
    urllib.urlretrieve(url)
    

    【讨论】:

      【解决方案3】:

      尝试以二进制模式打开输出文件:

      d = open(dest,'wb')
      

      (这只在 Windows 或 Python 3.x 中很重要。您显然使用的是 Python 2.x,但您可能在 Windows 上)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-25
        • 2021-01-28
        • 1970-01-01
        相关资源
        最近更新 更多