我正在使用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'
我做错了什么?
发布于 2016-03-09 03:03:06
open(path, 'w')
应:
open(path, 'wb')
b
是“二进制”的意思。这将确保Python不会尝试转换字符编码和换行符,并按字节对字节的方式读取或写入所有内容。
还请参见 documentation
https://stackoverflow.com/questions/35889729
复制相似问题