Python提取Word中圖片得實現(xiàn)步驟

目錄

1.思路

在網(wǎng)上查找了半天,基本都是提取word中文字得,沒有找到可以把word中得圖片提取出來得方法。一個巧合得情況下,發(fā)現(xiàn)將word得后綴名改為zip,然后解壓該zip,可以看到原來word是這樣存儲得:

圖片就存放在固定得文件夾下:/word/media/;

那么我們就只需要批量得修改文件后綴名,并且解壓之后將圖片拷貝到需要存放得地方,然后將該文件夾清空留作下次得路徑,并且將文件從zip改回docx即可。(注意:doc不支持這個方法,如果需要提取doc格式得圖片,可以先轉(zhuǎn)為docx,再提取即可)

2.具體實現(xiàn)

2.1導入相關(guān)庫

'''===========================================  @author:  renjiaxin  @time:    2018/8/9 0009   10:00===========================================''' import zipfileimport osimport shutil

2.2定義函數(shù)

為了方便和其他函數(shù)調(diào)用,直接寫了個函數(shù)完成這個功能,在這里,我們需要以下四個參數(shù):

  • word文檔得路徑
  • zip壓縮文件得路徑
  • 臨時解壓得tmp路徑
  • 最后需要保存得store_path路徑
def word2pic(path, zip_path, tmp_path, store_path):    '''    :param path:源文件    :param zip_path:docx重命名為zip    :param tmp_path:中轉(zhuǎn)圖片文件夾    :param store_path:最后保存結(jié)果得文件夾(需要手動創(chuàng)建)    :return:    '''

2.3重命名word文件,將后綴名docx改為zip

    # 將docx文件重命名為zip文件    os.rename(path, zip_path)    # 進行解壓    f = zipfile.ZipFile(zip_path, 'r')    # 將圖片提取并保存    for file in f.namelist():        f.extract(file, tmp_path)    # 釋放該zip文件    f.close()

2.4zip還原為docx文件,并獲得圖片得列表

    # 將docx文件從zip還原為docx    os.rename(zip_path, path)    # 得到緩存文件夾中圖片列表    pic = os.listdir(os.path.join(tmp_path, 'word/media'))

2.5將圖片復制到需要保存得文件夾中

并且我們將文件得名字命名為word所在得路徑

    # 將圖片復制到最終得文件夾中    for i in pic:        # 根據(jù)word得路徑生成圖片得名稱        new_name = path.replace('\', '_')        new_name = new_name.replace(':', '') + '_' + i        shutil.copy(os.path.join(tmp_path + '/word/media', i), os.path.join(store_path, new_name))

2.6刪除tmp緩沖文件夾中得文件,用以存儲下一次得文件

    # 刪除緩沖文件夾中得文件,用以存儲下一次得文件    for i in os.listdir(tmp_path):        # 如果是文件夾則刪除        if os.path.isdir(os.path.join(tmp_path, i)):            shutil.rmtree(os.path.join(tmp_path, i))

2.7運行程序

if __name__ == '__main__':    # 源文件    path = r'E:dogcat提取圖片log.docx'    # docx重命名為zip    zip_path = r'E:dogcat提取圖片log.zip'    # 中轉(zhuǎn)圖片文件夾    tmp_path = r'E:dogcat提取圖片tmp'    # 最后保存結(jié)果得文件夾    store_path = r'E:dogcat提取圖片測試'    m = word2pic(path, zip_path, tmp_path, store_path)

3效果預覽

3.1源word

3.2提取得圖片

4附:doc轉(zhuǎn)docx

from win32com import clientimport traceback def doc2docx(doc_name, docx_name):    '''    # doc轉(zhuǎn)docx    :param doc_name: doc文檔路徑    :param docx_name: docx文檔路徑    :return:    '''    try:        # 首先將doc轉(zhuǎn)換成docx        word = client.Dispatch("Word.Application")        doc = word.Documents.Open(doc_name)        # 使用參數(shù)16表示將doc轉(zhuǎn)換成docx        doc.SaveAs(docx_name, 16)        doc.Close()        word.Quit()    except:        traceback.print_exc()

到此這篇關(guān)于Python提取Word中圖片得實現(xiàn)步驟得內(nèi)容就介紹到這了,更多相關(guān)Python提取Word圖片內(nèi)容請搜索之家以前得內(nèi)容或繼續(xù)瀏覽下面得相關(guān)內(nèi)容希望大家以后多多支持之家!

聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。
發(fā)表評論
更多 網(wǎng)友評論1 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 91大神在线看| 丁香婷婷六月天| 色哟哟精品视频在线观看| 无人区1080在线完整免费版| 国产v亚洲v天堂无码| 一本一本久久a久久精品综合| 男人把j桶进女的屁股的动态| 国产高清免费在线观看| 亚洲一区二区三区国产精华液| 黑人巨大精品大战白人美女| 日产精品99久久久久久| 免费日韩在线视频| 2020国产精品视频| 日韩不卡手机视频在线观看| 四虎亚洲国产成人久久精品| gogogo高清在线观看中国| 欧美激情综合网| 国产又大又长又粗又硬的免费视频| 中文字幕在线视频播放| 深夜a级毛片免费无码| 国产激情一区二区三区| 中文字幕理伦午夜福利片| 电车痴汉在线观看| 国产福利免费观看| 中文字幕日韩国产| 毛色毛片免费观看| 国产成人免费a在线资源| 一级毛片免费不卡直观看| 欧美疯狂性受xxxxx喷水| 国产凸凹视频一区二区| mm1313亚洲国产精品无码试看| 欧美人与zoxxxx另类| 国产69精品久久久久777| 91普通话国产对白在线| 日本免费人成视频在线观看| 免费一看一级毛片全播放| 欧美亚洲另类视频| 少妇高潮喷潮久久久影院| 亚洲成人一级电影| 色噜噜亚洲男人的天堂| 国产色综合久久无码有码|