我是靠谱客的博主 可靠季节,最近开发中收集的这篇文章主要介绍【Python代码】自动办公(01)- 增强版,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

通过Python实现:提取"DOCX"文件中所有的图片

文章概述

【说明】

  • 文章后面附有具体实现代码
  • 还有相关一系列的组合文章;
  • 各内容都有简易版和最终版;

功能描述

【功能】

  • 实现单个"DOCX"文件中图片的提取操作;
  • 更多功能,会在相关文章中持续的发布;

【预览】

  • 暂无;

思路流程

【思路】

  • 最终版

【流程】

  • 最终版

具体实现

【说明】

  • 最终版

【代码】

import shutil
import os.path
import zipfile
def get_docx_picture(docx_file):
    """
    提取"DOCX"文件中所有的图片

    :param docx_file:"DOCX"文件的抽象路径
    """
    # 判断输入的路径是否正确有效
    if not docx_file.endswith(".docx"):
        return print("文件类型不匹配,提取失败!!!")
    if not os.path.exists(docx_file):
        return print("文件路径不存在,提取失败!!!")
    # 父级目录,用于存放提取到的图片目录
    parent_dir = os.path.dirname(docx_file)
    # 解压后的文件目录
    old_unpack_dir = os.path.join(parent_dir, "xx-这是临时文件目录-请销毁!")
    # 原本的图片的目录
    old_picture_dir = os.path.join(old_unpack_dir, "word", "media")
    # 最终的图片的目录
    new_picture_dir = os.path.join(parent_dir, 'DOCX内图片')

    # 将文件格式由"docx_file"改为"zip"
    zip_file = docx_file.replace(".docx", ".zip")
    os.rename(docx_file, zip_file)

    zip_dir = zipfile.ZipFile(zip_file)
    for file in zip_dir.namelist():
        if file.startswith("word/media/"):
            zip_dir.extract(file, old_unpack_dir)
    zip_dir.close()
    # 将文件格式由"zip"改为"docx_file"
    os.rename(zip_file, docx_file)

    # 整理提取到的图片目录,重复操作程序无效化
    if not os.path.exists(new_picture_dir):
        shutil.move(old_picture_dir, new_picture_dir)
    shutil.rmtree(old_unpack_dir)

    print("图片提取成功!!!")
def main():
    docx_file_path = input("请输入DOCX文档抽象路径:").strip()
    get_docx_picture(docx_file_path)


if __name__ == '__main__':
    main()

最后

以上就是可靠季节为你收集整理的【Python代码】自动办公(01)- 增强版的全部内容,希望文章能够帮你解决【Python代码】自动办公(01)- 增强版所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部