婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python提取word文件中的所有圖片

python提取word文件中的所有圖片

熱門標簽:沈陽防封電銷卡品牌 沈陽外呼系統呼叫系統 江西省地圖標注 富錦商家地圖標注 武漢外呼系統平臺 外呼系統哪些好辦 沈陽人工外呼系統價格 池州外呼調研線路 如何申請400電話費用

前言

辦公中,偶爾會碰到一種情況,需要提取word文檔中的圖片,決定寫這樣一款工具自動提取圖片。
關于腳本的使用:
情景1:如果你拿到的是一個文件夾,所有的word文件都在這個文件夾的子目錄下,深度為1層,你可以直接使用該腳本
情景2:如果你拿到的是一個文件夾,打開之后,里面雜亂無章的充斥著各種文件,你也不確定word文檔都在哪,那么你需要使用Everything來手動提取出所有的word文檔,雖然我也可以讓腳本實現這個功能,但是使用腳本需要考慮到有可能存在同名文件,再處理起來代碼量會更大,還是用Everything手動移動文件吧,誰讓現在的代碼量已經遠超我預期了呢?
3:預處理前面的兩步之后,就可以直接運行腳本了
4:腳本注釋很詳細,這里不再贅述
5:目前僅支持docx格式的,主要原因是,如果支持doc的話,需要把doc轉為docx,轉換略慢,并且,我也用不到。如果你感興趣的話,我再最下面介紹了互轉的方法,你可以把這個函數加進去即可

代碼

import zipfile
import os
import shutil
import hashlib
import send2trash

'''
假設所有的word文檔存放在某路徑中,這個路徑中包含各種雜七雜八的玩意
使用Everything,或者"篩選文件.py"把所有的docx文件移動到C:\\Users\\asuka\\Desktop\\123
逐個解壓每個docx文檔,并提取圖片

強烈建議使用Everything用來篩選出所有的word文檔,這樣假如有兩個重名的文檔,可以手動處理
如果編寫軟件來實現的話,會麻煩很多
'''


# 一個用來解壓文件的函數
def extract_zip(zip_path):
    os.chdir(os.path.dirname(zip_path))  # 需要進入到這個路徑下,這樣解壓的文件,才在這個路徑下
    a = zipfile.ZipFile(zip_path)  # 調用zipfile.ZipFile()函數,創建一個ZipFile對象
    a.extractall()
    a.close()
    os.chdir(path)  # 恢復到之前的路徑


# 用來獲取所有的圖片
'''
測試的時候發現,不同word文件解壓之后,里面的圖片命名格式一致,
導致不能直接移動圖片,否則會造成文件覆蓋,這里需要對找到的每一個文件,進行重命名
'''


def get_picture(demo_path):
    count = 1  # 用來個圖片進行重命名
    for current_folder, list_folders, files in os.walk(demo_path):
        for f in files:
            if f.endswith('png') or f.endswith('jpg') or f.endswith('jpeg'):  # 設置圖片類型是這種
                move_f = current_folder + '\\' + f  # 給出要移動的文件的路徑
                new_file_path = path1 + '\\' + str(count) + '.' + f.rpartition('.')[-1]  # 指定新文件的文件路徑,文件名數字遞增,文件后綴
                shutil.move(move_f, new_file_path)  # 移動文件
                count += 1
    print('[-] 總共獲取圖片{}張'.format(count - 1))


# 對圖片去重
# 計算每個圖片的md5值,據此進行去重,去重的文件會被刪除到回收站中
def only_one(test_path):
    md5_list = []
    count = 0
    for current_folder, list_folders, files in os.walk(test_path):
        for file in files:
            picture_path = current_folder + '\\' + file  # 獲取每個圖片的路徑
            f = open(picture_path, 'rb')  # 開始計算每個圖片的md5值
            md5obj = hashlib.md5()
            md5obj.update(f.read())
            get_hash = md5obj.hexdigest()
            f.close()
            md5_value = str(get_hash).upper()
            # 開始去重
            if md5_value in md5_list:
                send2trash.send2trash(picture_path)  # 如果這個文件的md5值曾經出現過,就刪除這張圖片
                count += 1
                print('[-] 刪除重復圖片:' + str(file))
            else:
                md5_list.append(md5_value)  # 如果這個圖片的md5值不存在列表中,就添加進列表中
    print('[-] 共刪除重復圖片:{}張'.format(count))


print('[+] 只有后綴是docx的word文檔才可以提取圖片?。。?)
path = input('[+] 請輸入word文檔所在文件夾:')  # 獲取原始的word文檔所在路徑
os.chdir(path)

print("[+] 請輸入一個路徑,用來存放所有的圖片")
print("[+] 或者按回車鍵,我將自動把圖片整理之后存放在你的桌面")
path1 = input('')  # path1 用來存放所有的圖片文件
if len(path1):
    pass
else:
    desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')  # 獲取桌面路徑
    path1 = os.path.join(desktop_path, '所有word文件中的圖片')
    os.makedirs(path1)

files = os.listdir(path)  # 獲取指定文件夾下的所有文件
for file in files:  # 遍歷指定文件夾下的所有文件
    if file.endswith('docx'):  # 加一個判斷,這樣即使path路徑下有別的類型文件也無妨
        filename = file.rpartition('.')[0]  # 獲取文件的文件名
        file_path = os.path.join(path, filename)
        os.makedirs(file_path)  # 為獲取到的文件名創建一個文件夾
        shutil.move(file, file_path)  # 把word文檔移動到同名文件夾中
        word_path = os.path.join(file_path, file)  # 獲取此時word文件的文件路徑
        extract_zip(word_path)  # 不用改后綴,直接解壓docx文件

get_picture(path)
only_one(path1)
print('[-] 現有圖片:{}張'.format(len(os.listdir(path1))))

GIF示例


Everything提取文件的演示(手動處理同名word文件,我這里對同名文件進行替換):

附:doc轉docx

介紹一下實現二者互轉
需要說明的是:
要安裝OFFICE,如果是使用金山WPS的,則還不能應用
轉換速度略慢,但還能接受
如果想轉換為其他格式文件,需要在format文件名內修改,并用如下save as 參數

代碼

關于第9行、第19行代碼:

第9行doc.SaveAs("{}x".format(fn), 12)
"{}x".format(fn)相當于把C:\Users\asuka\Desktop\11\123.doc變成了C:\Users\asuka\Desktop\11\123.docx,首先是指定了路徑和文件名,然后12表示存儲成docx格式的,保證了后綴名和格式是對應的。

第19行doc.SaveAs("{}".format(fn[:-1]), 0)
"{}".format(fn[:-1])相當于把C:\Users\asuka\Desktop\11\456.docx變成了C:\Users\asuka\Desktop\11\456.doc,指定了要另外保存的文件,保存的路徑和文件名,然后0表示存儲成doc格式的,保證了后綴名和格式是對應的。

from win32com import client


# 轉換doc為docx
def doc2docx(fn):
    word = client.Dispatch("Word.Application")  # 打開word應用程序
    # for file in files:
    doc = word.Documents.Open(fn)  # 打開word文件
    doc.SaveAs("{}x".format(fn), 12)  # 另存為后綴為".docx"的文件,其中參數12或16指docx文件
    doc.Close()  # 關閉原來word文件
    word.Quit()


# 轉換docx為doc
def docx2doc(fn):
    word = client.Dispatch("Word.Application")  # 打開word應用程序
    # for file in files:
    doc = word.Documents.Open(fn)  # 打開word文件
    doc.SaveAs("{}".format(fn[:-1]), 0)  # 另存為后綴為".docx"的文件,其中參數0指doc
    print(fn[:-1])
    doc.Close()  # 關閉原來word文件
    word.Quit()


doc2docx(r'C:\Users\asuka\Desktop\11\123.doc')
docx2doc(r'C:\Users\asuka\Desktop\11\456.docx')

到此這篇關于python提取word文件中的所有圖片的文章就介紹到這了,更多相關python提取word圖片內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 使用Python 統計文件夾內所有pdf頁數的小工具
  • 20行Python代碼實現一款永久免費PDF編輯工具的實現
  • 用python 制作圖片轉pdf工具
  • Python開發的單詞頻率統計工具wordsworth使用方法
  • Python快速優雅的批量修改Word文檔樣式
  • 教你如何利用Python批量翻譯英文Word文檔并保留格式
  • 詳解用Python把PDF轉為Word方法總結
  • 使用python處理一萬份word表格簡歷操作
  • python 三種方法提取pdf中的圖片
  • 只用40行Python代碼就能寫出pdf轉word小工具

標簽:潛江 株洲 通遼 阿里 銅川 呂梁 黑龍江 常德

巨人網絡通訊聲明:本文標題《python提取word文件中的所有圖片》,本文關鍵詞  python,提取,word,文件,中的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python提取word文件中的所有圖片》相關的同類信息!
  • 本頁收集關于python提取word文件中的所有圖片的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久香蕉国产线看观看99| 成人免费看片app下载| 久久久777精品电影网影网| 91浏览器在线视频| 精品一区二区免费在线观看| 尤物视频一区二区| 欧美经典三级视频一区二区三区| 欧美日韩一区精品| 国产精品一品视频| 香港成人在线视频| 亚洲精选一二三| 国产精品免费免费| 国产色产综合产在线视频| 91麻豆精品国产91久久久更新时间 | 亚洲人快播电影网| 久久久精品欧美丰满| 在线观看91av| 欧美日韩精品综合在线| 成人av综合一区| 国产xxx精品视频大全| 麻豆国产欧美日韩综合精品二区| 亚洲一区二区在线免费观看视频| 亚洲欧美经典视频| 亚洲视频图片小说| 亚洲三级视频在线观看| 精品国产一二三| 欧美一区二区三区视频免费 | 国产精品国产三级国产aⅴ原创 | 精品欧美乱码久久久久久1区2区| 在线一区二区三区| 欧美中文字幕一二三区视频| 91免费国产在线| 91行情网站电视在线观看高清版| 99久久伊人网影院| 国产麻豆视频一区二区| 国产成人综合在线| 99r精品视频| 欧美日韩精品一区二区在线播放| 日本道精品一区二区三区| 色噜噜偷拍精品综合在线| 欧美综合久久久| 67194成人在线观看| 精品国产免费一区二区三区香蕉| 久久精品一区二区三区四区 | 国产精品丝袜一区| 中文字幕一区二区三区蜜月 | 26uuu国产在线精品一区二区| 久久综合网色—综合色88| 精品91自产拍在线观看一区| 中文字幕+乱码+中文字幕一区| 中文字幕在线视频一区| 亚洲综合色网站| 日本欧美韩国一区三区| 国产麻豆精品在线| 欧美视频自拍偷拍| 欧美精品自拍偷拍| 国产日本欧洲亚洲| 亚洲精选免费视频| 国产一区二区在线观看免费| 99精品偷自拍| 日韩一级二级三级| 亚洲欧美日韩一区二区三区在线观看 | 国产欧美一区二区精品性色超碰 | 亚洲欧美综合色| 午夜激情久久久| 国产成人精品在线看| 91麻豆精品国产自产在线观看一区 | 91在线视频免费观看| 欧美区在线观看| 亚洲天堂2014| 国产自产v一区二区三区c| 色婷婷国产精品综合在线观看| 欧美不卡123| 亚洲国产另类精品专区| 成人美女视频在线观看| 日韩精品一区二区三区视频在线观看 | 一区二区三区四区激情 | 久久嫩草精品久久久久| 亚洲一区视频在线观看视频| 国产一区欧美一区| 日韩亚洲欧美在线观看| 亚洲一区二区三区国产| 丰满白嫩尤物一区二区| 精品国产露脸精彩对白| 日韩精品欧美成人高清一区二区| 9i在线看片成人免费| 日韩亚洲欧美中文三级| 亚洲va在线va天堂| 99国产欧美另类久久久精品| 极品少妇xxxx精品少妇| 亚洲午夜激情网站| 欧美一区二区免费观在线| 日本成人中文字幕| 久久人人爽人人爽| jlzzjlzz亚洲日本少妇| 亚洲激情图片一区| 欧美日韩精品一区二区在线播放| 亚洲成人自拍一区| 精品99一区二区| 成人免费黄色在线| 亚洲国产日韩精品| 欧美mv日韩mv国产网站app| 国产二区国产一区在线观看| 椎名由奈av一区二区三区| 欧美喷潮久久久xxxxx| 精品一区二区三区欧美| 国产精品久久三区| 在线观看91精品国产麻豆| 国产精品自在在线| 一区二区三区色| 欧美电影免费提供在线观看| 国产成人免费av在线| 天堂久久一区二区三区| 国产精品久久午夜| 欧美tk丨vk视频| 一本大道久久a久久精品综合| 日本成人在线不卡视频| 亚洲欧洲制服丝袜| 精品久久人人做人人爰| 色欧美日韩亚洲| 国产成人一区在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品久久看| 欧美精品一区二区在线观看| 在线观看成人小视频| 国产精品一区二区三区99 | 欧美主播一区二区三区| 国产一区二区影院| 蜜桃视频在线一区| 天天操天天综合网| 一区二区三区在线免费视频| 国产欧美精品区一区二区三区 | 69堂成人精品免费视频| 99久久国产综合精品色伊| 国产一区二区精品久久99| 日本女优在线视频一区二区| 亚洲国产cao| 一区二区三区在线免费观看 | 日韩一区二区三区三四区视频在线观看| 91视频在线看| 99久久久免费精品国产一区二区 | 亚洲同性gay激情无套| 国产亚洲欧美日韩在线一区| 日韩女优制服丝袜电影| 欧美性大战久久久久久久| 欧美在线制服丝袜| 欧美亚洲免费在线一区| 一本色道a无线码一区v| 色88888久久久久久影院野外| 99久久国产综合精品女不卡| av在线这里只有精品| 99久久99久久久精品齐齐| aaa亚洲精品一二三区| 99re在线精品| 欧美性极品少妇| 91精品国产91久久综合桃花| 69堂成人精品免费视频| 欧美一级在线视频| 久久综合九色综合97婷婷| 欧美精品一区二区久久婷婷| 久久人人97超碰com| 欧美激情在线看| 亚洲精品高清在线观看| 午夜不卡av在线| 美腿丝袜亚洲三区| 国产在线看一区| 成人精品国产一区二区4080| 99热在这里有精品免费| 欧美午夜在线一二页| 日韩免费观看高清完整版 | 亚洲一区二区三区小说| 婷婷开心激情综合| 国产一区二区三区精品欧美日韩一区二区三区 | 99久久综合国产精品| 欧美性做爰猛烈叫床潮| 欧美一级艳片视频免费观看| 久久毛片高清国产| 国产精品国产自产拍高清av| 一区二区三区在线看| 久久精品99国产国产精| 成人激情小说乱人伦| 在线亚洲高清视频| 日韩欧美三级在线| 国产日产欧美精品一区二区三区| 一区二区三区自拍| 国产一区二区91| 欧美色欧美亚洲另类二区| 日韩精品一区二区三区视频| 亚洲欧洲av一区二区三区久久| 午夜久久久影院| 国产河南妇女毛片精品久久久| 一本久久精品一区二区| 精品88久久久久88久久久| 亚洲精品日日夜夜| 国内外成人在线| 欧美另类变人与禽xxxxx| 国产精品久久影院| 国产真实乱对白精彩久久| 欧美中文字幕久久| 国产精品国产自产拍高清av|