使用Python批量删除文件夹内的Word(2)

pip install filedialog


首先定义一个函数,提取指定路径下的全部文件夹:一个名为 `​extract_directories`​的函数,该函数接受一个文件路径列表作为输入,并返回这些文件路径所在文件夹的集合



import os

def extract_directories(files):
“”"
从文件路径中提取出所在的文件夹,并返回一个不重复的文件夹路径列表。

Args:
files: 包含文件路径的列表

Returns:
包含文件夹路径的列表
"""
directories = set()  # 创建一个空集合用于存储文件夹路径
for file in files:  # 对文件路径列表进行循环遍历
    directory = os.path.dirname(file)  # 提取文件所在文件夹的路径
    if directory not in directories:  # 检查是否已经在集合中
        directories.add(directory)  # 如果不在集合中,则添加
return list(directories)  # 将集合转换为列表并返回

然后是删除指定目录下的word文件:一个名为 `​delete_word_files`​的函数,它接受一个目录路径作为输入,并遍历该目录及其所有子目录,删除其中所有扩展名为'.doc'或'.docx'的文件。



import os

def delete_word_files(directory):
“”"
遍历指定目录及其所有子目录,删除其中所有扩展名为’.doc’或’.docx’的文件。

Args:
directory: 目标目录的路径

Returns:
无
"""
for root, dirs, files in os.walk(directory):  # 使用os.walk遍历目录及其子目录
    for file in files:  # 遍历当前目录下的文件列表
        if file.endswith('.doc') or file.endswith('.docx'):  # 检查文件扩展名
            file_path = os.path.join(root, file)  # 构建文件的完整路径
            try:
                os.remove(file_path)  # 删除文件
                print(f"已删除文件: {file_path}")  # 打印删除成功的提示信息
            except OSError as e:
                print(f"删除文件时出错: {file_path} - {e}")  # 打印删除失败的错误信息

### 完整代码



import os
import tkinter as tk
from tkinter import filedialog

def delete_word_files(directory):
# 遍历指定目录及其所有子目录
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith(‘.doc’) or file.endswith(‘.docx’):
file_path = os.path.join(root, file)
try:
os.remove(file_path)
print(f"已删除文件: {file_path}“)
except OSError as e:
print(f"删除文件时出错: {file_path} - {e}”)

def extract_directories(files):
# 从文件路径中提取出所在的文件夹
directories = set()
for file in files:
directory = os.path.dirname(file)
if directory not in directories:
directories.add(directory)
return list(directories)

def main():
# 创建Tk实例,但不显示主窗口
root = tk.Tk()
root.withdraw()

# 弹出文件选择对话框,允许选择多个文件
word_files = filedialog.askopenfilenames(title="选择Word文件")

# 如果用户取消了选择,则word_files将是空列表
if word_files:
    # 从Word文件中提取出所在的文件夹

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python中的`python-docx`库来批量修改多个Word文档的格式。该库提供了丰富的API,可以实现对Word文档中各种元素的读取和修改操作。 以下是一个简单的示例代码,可以将指定目录下的所有Word文档中的所有段落文字的字体、字号和颜色修改为指定值: ```python import os from docx import Document from docx.shared import RGBColor from docx.enum.text import WD_COLOR_INDEX # 指定要修改的字体、字号和颜色 font_name = '宋体' font_size = 16 font_color = RGBColor(0, 0, 255) # 指定要处理的Word文档所在目录 dir_path = 'D:\\docx_files' # 遍历目录下所有Word文档 for filename in os.listdir(dir_path): if not filename.endswith('.docx'): continue doc_path = os.path.join(dir_path, filename) # 打开Word文档并读取所有段落 doc = Document(doc_path) paragraphs = doc.paragraphs # 修改段落文字格式 for p in paragraphs: for run in p.runs: run.font.name = font_name run.font.size = font_size run.font.color.rgb = font_color run.font.highlight_color = WD_COLOR_INDEX.WHITE # 保存修改后的Word文档 doc.save(doc_path) ``` 以上示例代码仅为演示用途,实际使用时可能需要根据具体需求进行修改和扩展。 ### 回答2: 使用Python批量修改多个Word文档格式可以通过使用第三方库python-docx来实现。下面是一个简单的实例来演示如何批量修改Word文档的格式。 首先,我们需要安装python-docx库。可以通过在终端或命令提示符中运行以下命令来安装该库: ``` pip install python-docx ``` 假设我们有一个文件夹下存放了多个Word文档,我们想要批量修改他们的格式,比如设置字体颜色为红色和字号为14。 ```python from docx import Document folder_path = '/path/to/folder' # 文件夹路径 file_extension = '.docx' # 文件的扩展名 # 获取文件夹下的所有文件 file_list = [f for f in os.listdir(folder_path) if f.endswith(file_extension)] # 遍历文件列表 for file_name in file_list: # 打开Word文档 doc = Document(folder_path + '/' + file_name) # 修改文档格式 for paragraph in doc.paragraphs: for run in paragraph.runs: run.font.color.rgb = RGBColor(255, 0, 0) # 设置字体颜色为红色 run.font.size = Pt(14) # 设置字号为14 # 保存修改后的文档 doc.save(folder_path + '/' + file_name) ``` 上述代码遍历文件夹下的所有扩展名为.docx的文件,并打开每个文件修改字体颜色为红色和字号为14,然后保存修改后的文档。 注意,使用python-docx库可以对Word文档进行更复杂的修改,比如设置段落格式、插入表格等。你可以根据需要进行进一步的扩展和修改。 希望以上回答能对你有所帮助! ### 回答3: 要使用Python批量修改多个Word文档的格式,可以使用Python的`python-docx`库来实现。 首先,需要安装`python-docx`库。可以使用以下命令在命令行中安装: ```shell pip install python-docx ``` 安装完成后,导入`python-docx`库: ```python import docx ``` 接下来,可以使用`docx`库中的`Document`类打开一个Word文档: ```python doc = docx.Document('路径/文件名.docx') ``` 对文档进行修改,比如修改字体、字号等格式,可以使用`Document`类中的方法和属性。例如,要修改整个文本的字体可以使用: ```python doc.styles['Normal'].font.name = '新字体名称' ``` 将修改后的文档另存为一个新的文件: ```python doc.save('路径/新文件名.docx') ``` 接下来,可以使用`os`库遍历指定文件夹内的所有Word文档,并对每个文档进行相同的修改。以下是一个示例代码: ```python import os import docx # 指定文件夹路径 folder_path = '文档文件夹路径' # 遍历文件夹内所有文件 for filename in os.listdir(folder_path): if filename.endswith('.docx'): # 打开文件 file_path = os.path.join(folder_path, filename) doc = docx.Document(file_path) # 进行修改 doc.styles['Normal'].font.name = '新字体名称' # 另存为新文件 new_filename = '新文件名_' + filename new_file_path = os.path.join(folder_path, new_filename) doc.save(new_file_path) ``` 运行上述代码,就可以将指定文件夹内的所有Word文档格式修改后保存为新的文档文件。 这样,就可以使用Python批量修改多个Word文档的格式了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值