批量处理文件得看具体的文件类型和处理需求,以下以常见的办公文档和图片为例,介绍不同的批量处理方法:
办公文档(Word、Excel、PPT 等)
- 批量重命名
- Windows系统:如果你想批量重命名一批Word文档,可以在文件夹中按
Ctrl
键选中所有要重命名的文件,然后右键点击其中一个文件,选择“重命名”,输入新的文件名,比如“报告_”,这时所有选中文件会自动以“报告_ (1)”“报告_ (2)”……这样的形式命名。 - Python实现:
- Windows系统:如果你想批量重命名一批Word文档,可以在文件夹中按
import os
folder_path = '你的文件夹路径'
prefix = '新文件名前缀'
count = 1
for filename in os.listdir(folder_path):
if filename.endswith('.docx'):
new_name = f'{prefix}_{count}.docx'
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_name))
count += 1
- 批量提取文本内容(以Word文档为例)
- Python结合
python - docx
库:
- Python结合
import docx
import os
folder_path = '存放Word文档的文件夹路径'
for filename in os.listdir(folder_path):
if filename.endswith('.docx'):
doc = docx.Document(os.path.join(folder_path, filename))
full_text = []
for para in doc.paragraphs:
full_text.append(para.text)
text_content = '\n'.join(full_text)
with open(os.path.join(folder_path, filename.replace('.docx', '.txt')), 'w', encoding='utf - 8') as f:
f.write(text_content)
图片
- 批量调整图片尺寸
- 使用Photoshop动作:打开Photoshop,录制一个动作,设定好图片尺寸调整参数(如宽度、高度)。然后选择“文件” - “自动” - “批处理”,在批处理对话框中,选择刚才录制的动作以及要处理的图片文件夹和输出文件夹,即可批量调整图片尺寸。
- Python结合
Pillow
库:
from PIL import Image
import os
folder_path = '图片文件夹路径'
new_width = 800
new_height = 600
for filename in os.listdir(folder_path):
if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
img = Image.open(os.path.join(folder_path, filename))
img = img.resize((new_width, new_height), Image.ANTIALIAS)
img.save(os.path.join(folder_path, 'new_' + filename))
- 批量添加图片水印
- Python结合
Pillow
库:
- Python结合
from PIL import Image, ImageDraw, ImageFont
import os
def add_watermark(image_path, watermark_text):
img = Image.open(image_path)
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', 36)
width, height = img.size
draw.text((width - 200, height - 50), watermark_text, font = font, fill=(255, 255, 255, 128))
return img
folder_path = '图片文件夹路径'
watermark = '版权所有'
for filename in os.listdir(folder_path):
if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
img_with_watermark = add_watermark(os.path.join(folder_path, filename), watermark)
img_with_watermark.save(os.path.join(folder_path, 'watermarked_' + filename))