最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用python-docx和win32com庫(kù)實(shí)現(xiàn)批量轉(zhuǎn)換doc文件為docx文件

 更新時(shí)間:2025年12月18日 09:43:23   作者:睿思達(dá)DBA_WGX  
這篇文章主要為大家詳細(xì)介紹了使用python-docx和win32com庫(kù)實(shí)現(xiàn)批量轉(zhuǎn)換doc文件為docx文件的相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下

一、安裝 python-docx 和 win32com 庫(kù)

windows命令行窗口執(zhí)行如下代碼:

pip install python-docx
pip install pywin32 

C:\Users\wgx58>pip install python-docx
Collecting python-docx
  Using cached python_docx-1.2.0-py3-none-any.whl.metadata (2.0 kB)
Requirement already satisfied: lxml>=3.1.0 in c:\python\lib\site-packages (from python-docx) (6.0.2)
Requirement already satisfied: typing_extensions>=4.9.0 in c:\python\lib\site-packages (from python-docx) (4.15.0)
Using cached python_docx-1.2.0-py3-none-any.whl (252 kB)
Installing collected packages: python-docx
Successfully installed python-docx-1.2.0

C:\Users\wgx58>pip install pywin32
Collecting pywin32
  Downloading pywin32-311-cp313-cp313-win_amd64.whl.metadata (10 kB)
Downloading pywin32-311-cp313-cp313-win_amd64.whl (9.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.5/9.5 MB 12.7 kB/s  0:09:26
Installing collected packages: pywin32
Successfully installed pywin32-311

二、編寫如下程序代碼

import os
import glob
from win32com import client as wc
from docx import Document
import pythoncom

def doc_to_docx(input_path, output_path):
    """
    將單個(gè)doc文件轉(zhuǎn)換為docx文件
    """
    try:
        # 初始化COM組件(單線程)
        pythoncom.CoInitialize()
        
        # 創(chuàng)建Word應(yīng)用程序?qū)ο?
        word = wc.Dispatch("Word.Application")
        word.Visible = False  # 不顯示W(wǎng)ord界面
        
        # 打開doc文件
        doc = word.Documents.Open(input_path)
        
        # 保存為docx格式
        doc.SaveAs(output_path, 16)  # 16表示docx格式
        
        # 關(guān)閉文檔和Word應(yīng)用程序
        doc.Close()
        word.Quit()
        
        print(f"成功轉(zhuǎn)換: {input_path} -> {output_path}")
        return True
        
    except Exception as e:
        print(f"轉(zhuǎn)換失敗 {input_path}: {str(e)}")
        return False
    finally:
        # 釋放COM組件
        pythoncom.CoUninitialize()

def batch_doc_to_docx(input_folder, output_folder=None):
    """
    批量轉(zhuǎn)換文件夾中的所有doc文件為docx格式
    
    Args:
        input_folder: 輸入文件夾路徑
        output_folder: 輸出文件夾路徑,如果為None則使用輸入文件夾
    """
    if output_folder is None:
        output_folder = input_folder
    
    # 確保輸出文件夾存在
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    # 查找所有doc文件
    doc_files = glob.glob(os.path.join(input_folder, "*.doc"))
    
    if not doc_files:
        print(f"在文件夾 {input_folder} 中未找到任何doc文件")
        return
    
    print(f"找到 {len(doc_files)} 個(gè)doc文件,開始轉(zhuǎn)換...")
    
    success_count = 0
    failed_files = []
    
    for doc_file in doc_files:
        # 生成輸出文件路徑
        filename = os.path.basename(doc_file)
        docx_filename = os.path.splitext(filename)[0] + ".docx"
        output_path = os.path.join(output_folder, docx_filename)
        
        # 轉(zhuǎn)換文件
        if doc_to_docx(doc_file, output_path):
            success_count += 1
        else:
            failed_files.append(doc_file)
    
    # 輸出轉(zhuǎn)換結(jié)果
    print(f"\n轉(zhuǎn)換完成!")
    print(f"成功: {success_count}/{len(doc_files)}")
    
    if failed_files:
        print(f"失敗的文件:")
        for file in failed_files:
            print(f"  - {file}")

def main():
    """
    主函數(shù),提供用戶交互界面
    """
    print("=== DOC 轉(zhuǎn) DOCX 批量轉(zhuǎn)換工具 ===")
    
    # 獲取輸入文件夾
    input_folder = input("請(qǐng)輸入包含doc文件的文件夾路徑: ").strip()
    
    if not os.path.exists(input_folder):
        print("錯(cuò)誤:指定的文件夾不存在!")
        return
    
    # 詢問輸出文件夾
    use_same_folder = input("是否將docx文件保存在同一文件夾?(y/n): ").strip().lower()
    
    if use_same_folder == 'y':
        output_folder = input_folder
    else:
        output_folder = input("請(qǐng)輸入輸出文件夾路徑: ").strip()
    
    # 開始轉(zhuǎn)換
    batch_doc_to_docx(input_folder, output_folder)

if __name__ == "__main__":
    main()

三、測(cè)試程序

程序運(yùn)行結(jié)果如下:

C:\python\python.exe C:\Users\wgx58\PycharmProjects\PythonProject1\hello.py 
=== DOC 轉(zhuǎn) DOCX 批量轉(zhuǎn)換工具 ===
請(qǐng)輸入包含doc文件的文件夾路徑: D:\python_wgx\word_doc
是否將docx文件保存在同一文件夾?(y/n): n
請(qǐng)輸入輸出文件夾路徑: D:\python_wgx\word_docx
找到 1 個(gè)doc文件,開始轉(zhuǎn)換...
成功轉(zhuǎn)換: D:\python_wgx\word_doc\aa.doc -> D:\python_wgx\word_docx\aa.docx

轉(zhuǎn)換完成!
成功: 1/1

進(jìn)程已結(jié)束,退出代碼為 0

到此這篇關(guān)于使用python-docx和win32com庫(kù)實(shí)現(xiàn)批量轉(zhuǎn)換doc文件為docx文件的文章就介紹到這了,更多相關(guān)python-docx win32com轉(zhuǎn)換doc為docx內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 編寫python代碼實(shí)現(xiàn)簡(jiǎn)單抽獎(jiǎng)器

    編寫python代碼實(shí)現(xiàn)簡(jiǎn)單抽獎(jiǎng)器

    這篇文章主要介紹了編寫python代碼實(shí)現(xiàn)簡(jiǎn)單抽獎(jiǎng)器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Python自動(dòng)化測(cè)試筆試面試題精選

    Python自動(dòng)化測(cè)試筆試面試題精選

    在本篇文章里小編給大家整理的是一篇關(guān)于Python自動(dòng)化測(cè)試筆試面試時(shí)常見的編程題,需要的朋友們可以學(xué)習(xí)參考下。
    2020-03-03
  • Python?OpenCV形態(tài)學(xué)運(yùn)算示例詳解

    Python?OpenCV形態(tài)學(xué)運(yùn)算示例詳解

    這篇文章主要為大家介紹了OpenCV中的幾個(gè)形態(tài)學(xué)運(yùn)算,例如:腐蝕&膨脹、開&閉運(yùn)算、梯度運(yùn)算、頂帽運(yùn)算黑帽運(yùn)算,感興趣的可以了解一下
    2022-04-04
  • python開發(fā)中module模塊用法實(shí)例分析

    python開發(fā)中module模塊用法實(shí)例分析

    這篇文章主要介紹了python開發(fā)中module模塊用法,以實(shí)例形式較為詳細(xì)的分析了Python中模塊的功能、定義及相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • 利用Python實(shí)現(xiàn)批量下載上市公司財(cái)務(wù)報(bào)表

    利用Python實(shí)現(xiàn)批量下載上市公司財(cái)務(wù)報(bào)表

    這篇文章主要為大家介紹了如何利用Python做個(gè)小工具,可以批量把某網(wǎng)站上的上市公司的財(cái)報(bào)下下來。文中的示例代碼講解詳細(xì),感興趣的可以動(dòng)手試一試
    2022-03-03
  • Python散列表(Hash Table)的實(shí)現(xiàn)示例

    Python散列表(Hash Table)的實(shí)現(xiàn)示例

    散列表是一種常用于實(shí)現(xiàn)關(guān)聯(lián)數(shù)組或映射的數(shù)據(jù)結(jié)構(gòu),本文我們將深入講解Python中的散列表,包括散列函數(shù)、沖突解決方法、散列表的實(shí)現(xiàn)和應(yīng)用場(chǎng)景,感興趣的可以了解一下
    2024-01-01
  • OpenCV讀取中文路徑圖像失敗的問題解決方法總結(jié)

    OpenCV讀取中文路徑圖像失敗的問題解決方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了OpenCV讀取中文路徑圖像失敗的問題的核心概念與實(shí)踐方法,掌握關(guān)鍵技術(shù)要點(diǎn),了解實(shí)際應(yīng)用場(chǎng)景與最佳實(shí)踐
    2026-05-05
  • TensorFlow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN

    TensorFlow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN

    這篇文章主要為大家詳細(xì)介紹了TensorFlow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python設(shè)置和解除Word文檔保護(hù)的實(shí)現(xiàn)步驟

    Python設(shè)置和解除Word文檔保護(hù)的實(shí)現(xiàn)步驟

    在日常工作和學(xué)習(xí)中,我們經(jīng)常需要使用Word文檔來記錄和分享重要的信息,為了確保文檔內(nèi)容的安全性和完整性,了解如何保護(hù)和取消保護(hù)Word文檔顯得尤為重要,這篇博客將詳細(xì)介紹如何使用Python設(shè)置和解除Word文檔的保護(hù),需要的朋友可以參考下
    2025-02-02
  • 淺析Python?pickle?包的理解和使用

    淺析Python?pickle?包的理解和使用

    pickle?是?Python?庫(kù)中的一個(gè)模塊,用于將?Python?對(duì)象序列化和反序列化,這篇文章主要介紹了Python?pickle?包的理解和使用,需要的朋友可以參考下
    2023-05-05

最新評(píng)論

横山县| 海丰县| 蓬溪县| 旅游| 桂林市| 阿拉善右旗| 乐昌市| 资中县| 六盘水市| 沭阳县| 固始县| 伊川县| 江山市| 商都县| 南和县| 苏州市| 大安市| 溧水县| 壶关县| 静宁县| 涞源县| 元谋县| 万年县| 左权县| 大足县| 洪泽县| 城步| 寻乌县| 广西| 慈溪市| 昌都县| 舟山市| 长寿区| 台安县| 宾阳县| 保亭| 通许县| 山丹县| 永春县| 呈贡县| 包头市|