Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python请求:下载的图像文件二进制文件与原始文件不相同?_Python_Python Requests - Fatal编程技术网

Python请求:下载的图像文件二进制文件与原始文件不相同?

Python请求:下载的图像文件二进制文件与原始文件不相同?,python,python-requests,Python,Python Requests,我正在使用Python请求从web保存图像文件。但是,保存的文件与原始文件有一点二进制差异,并且比原始文件大一点。它仍然是一个有效的jpg文件,但已被置乱 代码如下: import requests import shutil import os if __name__ == "__main__": image_url = 'http://www.123.com/image.jpg' filename = 'out.jpg' username = 'myusername' password

我正在使用Python请求从web保存图像文件。但是,保存的文件与原始文件有一点二进制差异,并且比原始文件大一点。它仍然是一个有效的jpg文件,但已被置乱

代码如下:

import requests
import shutil
import os

if __name__ == "__main__":

image_url = 'http://www.123.com/image.jpg'
filename = 'out.jpg'
username = 'myusername'
password = 'mypasword'
path = os.path.join('c:/', filename )

r = requests.get(image_url, auth=(username, password), stream=True)
if r.status_code == 200:
    with open(path, 'w') as f:
        r.raw.decode_content = False
        shutil.copyfileobj(r.raw, f)

print 'The End'
我做错了什么

openpath,“w”

应该是:

openpath,“wb”

b代表二进制。这将确保Python不会试图转换字符编码和换行符,不会完全按照字节对字节的方式读取或写入所有内容

另请参见openpath“w”

应该是:

openpath,“wb”

b代表二进制。这将确保Python不会试图转换字符编码和换行符,不会完全按照字节对字节的方式读取或写入所有内容

也看到