M1 Mac 下使用python将doc批量转换为docx


本方法通过LibreOffice插件进行实现,python的作用相当于自动启动进程,调用到LibreOffice的接口,将doc文件进行转换。


首先,需下载并安装LibreOffice,中文官方网站参考https://zh-cn.libreoffice.org


直接下载7.3.0版本长期支持版链接如下:

https://www.libreoffice.org/donate/dl/mac-aarch64/7.3.0/zh-CN/LibreOffice_7.3.0_MacOS_aarch64.dmg


若自行进入到官网进行下载,注意选择芯片,下图红框为M1芯片。版本一般选择最新长期支持版即可,本实例中采用7.3.0版本,可以顺利运行。

M1 Mac 下使用python将doc批量转换为docx

python在自己实际使用中是3.8版本,理论3.x都可兼容。


C+V后直接运行即可,运行后会提示输入文件夹路径和输出文件夹路径。以下代码已对文件类型进行了过滤,仅识别输入文件夹内".doc"后缀的文件。


python代码如下:

from ctypes.wintypes import PUINT
import os
import subprocess
source = input('请输入需要转换的文件路径:')
dest = input('请输入输出路径(若不存在该路径会报错,不会新建):')
g = os.listdir(source)
file_path = [f for f in g if f.endswith(('.doc'))]
print(file_path)
for i in file_path:
    file = (source + '/' + i )
    print (file)
    output = subprocess.check_output(["/Applications/LibreOffice.app/Contents/MacOS/soffice","--headless","--convert-to","docx",file,"--outdir",dest])
print('success!')




上一篇:kafka读书笔记(二)浅谈生产者


下一篇:Springboot集成kafka