使用python-docx提取文档尺寸

有朋友处理教育类的手抄报,文档较多,每个文件打开去看尺寸十分麻烦,为了方便进行分类,制作了一个根据文档尺寸分类并放到相应目录的功能,使用的PyQt5 + Python制作,下面贴出核心代码给大家分享,本文为个人原创,如需转载请标明出处。

    # 循环读取指定目录下的所有文件
    for root,dirs,files in os.walk(UI.filePath.text()):
        for file in files:
            try:
                # 如果文件名最后4个字符不是docx则跳过
                # 由于是使用的python-docx插件,所以只能处理docx格式的文档
                if file[-4:] != "docx":
                    continue
                # 使用python-docx的Document方法打开一个文档
                doc = Document("/".join([root,file]))
                # 直接从sections._document_elm.sectPr_lst[0].page_width读取文档的宽度信息
                # 其中/36000 是一个经验,是先根据A4文档的210*297倒推出来的比例
                width = int(doc.sections._document_elm.sectPr_lst[0].page_width / 36000)
                height = int(doc.sections._document_elm.sectPr_lst[0].page_height / 36000)
                # 将width和height值作为新文件夹的名称
                outPath = UI.outPath.text() + str(width) + "x" + str(height)
                # 如果新的目录不存在则新建
                if not os.path.exists(outPath):
                    os.makedirs(outPath)
                if outPath[-1] != "/":
                    outPath += "/"
                # 将文档移到新建的目录中
                shutil.move("/".join([root,file]),outPath + file)
                print("文件:{} 宽:{} 高:{}".format("/".join([root,file]), width, height))
            except:
                continue
    # 由于使用的是PyQt5制作的界面,所以使用QMessageBox进行提示
    QMessageBox.about(main, "完成", "分类已完成!")

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伍德春

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值