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

简介: M1 Mac 的兼容原因,win32com库无法引用,故而通过其他方法实现,将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版本,可以顺利运行。

image.png

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!')




目录
相关文章
|
7天前
|
Python
【10月更文挑战第10天】「Mac上学Python 19」小学奥数篇5 - 圆和矩形的面积计算
本篇将通过 Python 和 Cangjie 双语解决简单的几何问题:计算圆的面积和矩形的面积。通过这道题,学生将掌握如何使用公式解决几何问题,并学会用编程实现数学公式。
128 60
|
7天前
|
Python
【10月更文挑战第10天】「Mac上学Python 20」小学奥数篇6 - 一元一次方程求解
本篇将通过 Python 和 Cangjie 双语讲解如何求解一元一次方程。通过这道题,学生将掌握如何用编程实现方程求解,并体验基本的代数计算。
73 1
|
10天前
|
Python
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
本篇将详细介绍Python中的运算符,包括数学运算、关系运算、逻辑运算、赋值运算和成员运算等内容。同时会说明运算符的优先级和运算顺序,帮助用户理解和掌握Python中的运算符使用规则。
29 3
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
|
11天前
|
Python
【10月更文挑战第6天】「Mac上学Python 9」基础篇3 - 数值类型详解
本篇将详细介绍Python中的数值类型,包括二进制、八进制、十六进制、整数、浮点数和复数等。同时,学习如何进行类型判断和数值操作。通过本篇的学习,用户将掌握Python中常见的数值类型及其基本运算。
48 4
【10月更文挑战第6天】「Mac上学Python 9」基础篇3 - 数值类型详解
|
10天前
|
Python
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
本篇将详细介绍Python中的常见数据类型转换方法以及 `NoneType` 的概念。包括如何在整数、浮点数、字符串等不同数据类型之间进行转换,并展示如何使用 `None` 进行初始赋值和处理特殊情况。通过本篇的学习,用户将深入理解如何处理不同类型的数据,并能够在代码中灵活使用 `None` 处理未赋值状态。
47 2
【10月更文挑战第7天】「Mac上学Python 13」基础篇7 - 数据类型转换与NoneType详解
|
10天前
|
Python
【10月更文挑战第7天】「Mac上学Python 15」小学奥数篇1 - 如何平分6个苹果和4个橘子
本篇将通过 Python 和 Cangjie 双语讲解一个简单的数学题:如何平分 N 个苹果和 M 个橘子。这道题旨在锻炼初学者的逻辑思维,并学会使用编程解决实际问题。
49 1
【10月更文挑战第7天】「Mac上学Python 15」小学奥数篇1 - 如何平分6个苹果和4个橘子
|
11天前
|
Python
【10月更文挑战第6天】「Mac上学Python 12」基础篇6 - 输入输出与格式化详解
本篇将详细介绍Python中的输入和输出函数,包括 `print()` 和 `input()` 函数的使用,涵盖格式化输出、类型转换及常见的字符串格式化方法。通过学习本篇,用户将掌握如何使用Python进行输入输出操作,并能灵活运用格式化输出处理数据。
53 1
【10月更文挑战第6天】「Mac上学Python 12」基础篇6 - 输入输出与格式化详解
|
11天前
|
Python
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
本篇将详细介绍Python中的字符串类型及其常见操作,包括字符串的定义、转义字符的使用、字符串的连接与格式化、字符串的重复和切片、不可变性、编码与解码以及常用内置方法等。通过本篇学习,用户将掌握字符串的操作技巧,并能灵活处理文本数据。
46 1
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
|
11天前
|
Python
【10月更文挑战第6天】「Mac上学Python 10」基础篇4 - 布尔类型详解
本篇将详细介绍Python中的布尔类型及其应用,包括布尔值、逻辑运算、关系运算符以及零值的概念。布尔类型是Python中的一种基本数据类型,广泛应用于条件判断和逻辑运算中,通过本篇的学习,用户将掌握如何使用布尔类型进行逻辑操作和条件判断。
46 1
【10月更文挑战第6天】「Mac上学Python 10」基础篇4 - 布尔类型详解
|
12天前
|
Python
【10月更文挑战第5天】「Mac上学Python 8」基础篇2 - 变量深入详解
本篇将详细介绍Python中变量的使用方式和进阶操作,涵盖变量的输入与输出、变量的多重赋值、变量的内存地址管理以及变量的传递和交换等操作。通过本篇的学习,用户将对变量的使用有更深入的理解,并能灵活运用变量进行各种编程操作。
47 1
【10月更文挑战第5天】「Mac上学Python 8」基础篇2 - 变量深入详解