欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3實現(xiàn)轉(zhuǎn)換Image圖片格式

 更新時間:2018年06月21日 15:23:42   作者:wgPython  
本篇文章給大家分享了Python3實現(xiàn)在線轉(zhuǎn)換Image圖片格式的功能以及相關(guān)實例代碼,有興趣的朋友參考下。

前言

首先圖片格式轉(zhuǎn)換的方法有很多,但是轉(zhuǎn)二進制字節(jié)流的,我搜了一下午終于在 stackoverflow上搜到了
說一下為什么要在線轉(zhuǎn)這個圖片格式
額,一名Python3 spider, 需求要爬去文章,并且把里面的圖片,上傳到本公司的七牛云上面,
意思就是,圖片不需要下載到本地,爬取到圖片url后,讀取圖片二進制數(shù)據(jù),然后上傳到自己公司七牛云上面,并且替換其格式(這一點很坑)

上傳圖片二進制數(shù)據(jù)到七牛云上面不難, 照著七牛云API文檔基本就能行,有一點很坑,七牛云官方文檔Python API 賊雞兒坑,上面的Demo全是,上傳本地圖片的put_file()方法,我要上傳遠(yuǎn)程服務(wù)器上面的,沒看到對應(yīng)的方法。

準(zhǔn)備修改qiniu SDK源碼的,看到了一個put_data()方法能傳二進制數(shù)據(jù)。

好我寫這篇博文重點來了

需求:由于我爬取的圖片遠(yuǎn)程是google的 .webp格式的圖片, 鏈接是https://xxxx.webp這種,而這個格式又不能直接修改后綴改。

于是我去網(wǎng)上搜Python3 圖片格式轉(zhuǎn)換的方法。

最多的就是這種方法

from PIL import Image  # 安裝pillow 有些小坑 對了我的版本是Pillow==4.3.0
 im = Image.open("./demo1.jpg")
 im.save("./demo2.png")

但是我要上傳的文件都不在本地,都是請求圖片二進制流在線修改圖片后綴。

二話不說直接亮代碼吧,虧我找了一下午,還在pillow的github上提問。終于在stackoverflow上搜到了。

import io
from PIL import Image # 注意我的Image版本是pip3 install Pillow==4.3.0
import requests

res = requests.get('http://images.xxx.com/-7c0dc4dbdca3.webp')

byte_stream = io.BytesIO(res.content) # 把請求到的數(shù)據(jù)轉(zhuǎn)換為Bytes字節(jié)流(這樣解釋不知道對不對,可以參照[廖雪峰](https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431918785710e86a1a120ce04925bae155012c7fc71e000)的教程看一下)

roiImg = Image.open(byte_stream)  # Image打開二進制流Byte字節(jié)流數(shù)據(jù)

imgByteArr = io.BytesIO()   # 創(chuàng)建一個空的Bytes對象

roiImg.save(imgByteArr, format='PNG') # PNG就是圖片格式,我試過換成JPG/jpg都不行

imgByteArr = imgByteArr.getvalue()  # 這個就是保存的二進制流

# 下面這一步只是本地測試, 可以直接把imgByteArr,當(dāng)成參數(shù)上傳到七牛云
with open("./abc.png", "wb") as f:
  f.write(imgByteArr)

我感覺我這個在線轉(zhuǎn)換的絕對是CSDN第一篇, 搜了一下午,人都搜絕望了。
還是 stackoverflow 好用, 這個鏈接就是我搜到答案。

今天一上github ,作者回復(fù)我了的問題了,https://github.com/python-pillow/Pillow/issues/3192

相關(guān)文章

  • python循環(huán)監(jiān)控遠(yuǎn)程端口的方法

    python循環(huán)監(jiān)控遠(yuǎn)程端口的方法

    這篇文章主要介紹了python循環(huán)監(jiān)控遠(yuǎn)程端口的方法,涉及Python實現(xiàn)端口監(jiān)控的技巧,需要的朋友可以參考下
    2015-03-03
  • 基于OpenCV(python)的實現(xiàn)文本分割之垂直投影法

    基于OpenCV(python)的實現(xiàn)文本分割之垂直投影法

    本文主要介紹了基于OpenCV(python)的實現(xiàn)文本分割之垂直投影法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python執(zhí)行外部命令subprocess的使用詳解

    Python執(zhí)行外部命令subprocess的使用詳解

    subeprocess模塊是python自帶的模塊,無需安裝,主要用來取代一些就的模塊或方法,本文通過實例代碼給大家分享Python執(zhí)行外部命令subprocess及使用方法,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Python海象運算符的用法教程

    Python海象運算符的用法教程

    Python 海象運算符是在 PEP 572 中提出,并在 Python3.8 版本并入和發(fā)布。本文就來為大家詳細(xì)講講Python海象運算符的用法,感興趣的可以了解一下
    2022-07-07
  • 淺談多卡服務(wù)器下隱藏部分 GPU 和 TensorFlow 的顯存使用設(shè)置

    淺談多卡服務(wù)器下隱藏部分 GPU 和 TensorFlow 的顯存使用設(shè)置

    這篇文章主要介紹了淺談多卡服務(wù)器下隱藏部分 GPU 和 TensorFlow 的顯存使用設(shè)置,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Pycharm快速安裝OpenCV的詳細(xì)操作步驟

    Pycharm快速安裝OpenCV的詳細(xì)操作步驟

    Pycharm中使用OpenCV,其實也就是用Python語言調(diào)用OpenCV,下面這篇文章主要給大家介紹了關(guān)于Pycharm快速安裝OpenCV的詳細(xì)操作步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • python編程進階之類和對象用法實例分析

    python編程進階之類和對象用法實例分析

    這篇文章主要介紹了python編程進階之類和對象用法,結(jié)合實例形式分析了python類和對象概念、原理、內(nèi)置函數(shù)、類的變量、繼承等相關(guān)使用技巧與注意事項,需要的朋友可以參考下
    2020-02-02
  • Python常用數(shù)據(jù)類型之間的轉(zhuǎn)換總結(jié)

    Python常用數(shù)據(jù)類型之間的轉(zhuǎn)換總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于Python中常用數(shù)據(jù)類型之間的轉(zhuǎn)換相關(guān)知識點,有需要的朋友們可以學(xué)習(xí)下
    2019-09-09
  • Python csv模塊使用方法代碼實例

    Python csv模塊使用方法代碼實例

    這篇文章主要介紹了Python csv模塊使用方法代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 使用Docker制作Python環(huán)境連接Oracle鏡像

    使用Docker制作Python環(huán)境連接Oracle鏡像

    這篇文章主要為大家介紹了使用Docker制作Python環(huán)境連接Oracle鏡像示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06

最新評論