LLM的预训练任务有哪些
Python自动化:提升效率的20个实用脚本
在现代工作环境中,自动化已经成为提升效率、减少重复劳动的重要工具。Python作为一种功能强大且易于学习的编程语言,提供了丰富的库和工具,使得自动化任务变得更加轻松和高效。本文将介绍20个实用的Python自动化脚本,帮助您在各类任务中解放双手、事半功倍。
自动化文件管理
Python在自动化文件管理方面提供了极大的便利。通过简单的脚本,我们可以轻松地整理文件、移除空白文档以及批量重命名文件。
整理目录中的文件
在处理大量文件时,按文件类型整理文件是一项常见需求。以下是一个Python脚本示例,可以根据文件扩展名整理目录中的文件。
import os
from shutil import move
def sort_files(directory_path):
for filename in os.listdir(directory_path):
if os.path.isfile(os.path.join(directory_path, filename)):
file_extension = filename.split('.')[-1]
destination_directory = os.path.join(directory_path, file_extension)
if not os.path.exists(destination_directory):
os.makedirs(destination_directory)
move(os.path.join(directory_path, filename),
os.path.join(destination_directory, filename))
sort_files('your_directory_path')
该脚本遍历目录中的所有文件,并按扩展名创建相应的文件夹,将文件移动至相应的文件夹中。
移除空白的文档
在自动化处理文件时,清除空白文件夹是提高目录整洁度的关键。
import os
def remove_empty_folders(directory_path):
for root, dirs, files in os.walk(directory_path, topdown=False):
for folder in dirs:
folder_path = os.path.join(root, folder)
if not os.listdir(folder_path):
os.rmdir(folder_path)
remove_empty_folders('your_directory_path')
此脚本遍历目录树,发现空文件夹后将其删除,有助于保持文件目录的整洁。
多个文件的重命名
批量修改文件名是日常工作中常见的需求,Python可以轻松实现。
import os
def rename_files(directory_path, old_name, new_name):
for filename in os.listdir(directory_path):
if old_name in filename:
new_filename = filename.replace(old_name, new_name)
os.rename(os.path.join(directory_path, filename),
os.path.join(directory_path, new_filename))
rename_files('your_directory_path', 'old_name', 'new_name')
此脚本通过替换旧名称来生成新文件名,并更新文件名。
Excel办公自动化软件
Python提供了强大的库来处理Excel文件,使得数据处理和分析变得更加简单。
读取和写入
使用Pandas库可以轻松读取和写入Excel文件。
import pandas as pd
def read_excel(file_path):
df = pd.read_excel(file_path)
return df
def write_to_excel(data, file_path):
df = pd.DataFrame(data)
df.to_excel(file_path, index=False)
read_excel('path_to_your_input_file.xlsx')
write_to_excel(data, 'path_to_your_output_file.xlsx')
此代码通过Pandas库读取Excel文件,并将数据写回新的Excel文件。
合并多个工作表
在需要合并多个Excel工作表时,该脚本可以提供帮助。
import pandas as pd
def merge_sheets(file_path, output_file_path):
xls = pd.ExcelFile(file_path)
df = pd.DataFrame()
for sheet_name in xls.sheet_names:
sheet_df = pd.read_excel(xls, sheet_name)
df = df.append(sheet_df, ignore_index=True)
df.to_excel(output_file_path, index=False)
merge_sheets('path_to_your_excel_file.xlsx', 'path_to_your_output_file.xlsx')
该脚本将所有工作表的数据合并到一个新的Excel文件中。
图片处理
图像处理是Python自动化的重要应用之一,通过Pillow库可以实现图片的剪裁、缩放和添加水印等操作。
图片的修剪
以下是一个示例,展示如何使用Python调整图片大小。
from PIL import Image
def resize_image(input_path, output_path, width, height):
image = Image.open(input_path)
resized_image = image.resize((width, height), Image.ANTIALIAS)
resized_image.save(output_path)
resize_image('path_to_input_image.jpg', 'path_to_resized_image.jpg', 800, 600)
该函数接受输入路径、输出路径、以及新大小,调整并保存图片。
添加水印
通过在图片上添加水印,可以保护版权或标识图像来源。
from PIL import Image, ImageDraw, ImageFont
def add_watermark(input_path, output_path, watermark_text):
image = Image.open(input_path)
draw = ImageDraw.Draw(image)
font = ImageFont.truetype('arial.ttf', 36)
draw.text((10, 10), watermark_text, fill=(255, 255, 255, 128), font=font)
image.save(output_path)
add_watermark('path_to_input_image.jpg', 'path_to_watermarked_image.jpg', 'Your Watermark Text')
此函数在图片上添加指定文本的水印,并保存修改后的图片。
系统任务
Python可以管理系统进程、自动化任务等,提高系统操作效率。
系统进程管理
使用psutil库,可以获取系统进程信息并管理进程。
import psutil
def get_running_processes():
return [p.info for p in psutil.process_iter(['pid', 'name', 'username'])]
def kill_process_by_name(process_name):
for p in psutil.process_iter(['pid', 'name', 'username']):
if p.info['name'] == process_name:
p.kill()
running_processes = get_running_processes()
此代码列出所有正在运行的进程,并支持通过名称终止指定进程。
PDF文件操作
Python可以通过PyPDF2库轻松实现PDF文件的合并和加密。
多个PDF文件合并
合并多个PDF文件是日常办公中常见的操作。
import PyPDF2
def merge_pdfs(input_paths, output_path):
pdf_merger = PyPDF2.PdfMerger()
for path in input_paths:
with open(path, 'rb') as f:
pdf_merger.append(f)
with open(output_path, 'wb') as f:
pdf_merger.write(f)
merge_pdfs(['pdf1.pdf', 'pdf2.pdf', 'pdf3.pdf'], 'merged.pdf')
此脚本将多个PDF文件合并为一个文件,便于整理和管理。
PDF文件密码保护
对于敏感文件,添加密码保护十分重要。
import PyPDF2
def add_password_protection(input_path, output_path, password):
with open(input_path, 'rb') as f:
pdf_reader = PyPDF2.PdfFileReader(f)
pdf_writer = PyPDF2.PdfFileWriter()
for page_num in range(pdf_reader.numPages):
page = pdf_reader.getPage(page_num)
pdf_writer.addPage(page)
pdf_writer.encrypt(password)
with open(output_path, 'wb') as output_file:
pdf_writer.write(output_file)
add_password_protection('input.pdf', 'protected.pdf', 'your_password')
该脚本为PDF文件设置密码,保护文件内容。
FAQ
-
问:如何使用Python自动化文件整理?
- 答:通过Python的os和shutil库,可以编写脚本按文件类型整理目录中的文件,如按扩展名分类。
-
问:如何在Python中处理Excel文件?
- 答:可以使用Pandas库读取和写入Excel文件,实现数据的加工与合并等操作。
-
问:如何为PDF文件添加密码保护?
- 答:使用PyPDF2库,可以为PDF文件设置访问密码,确保文件安全。
-
问:Python是否能批量处理图片?
- 答:是的,Python的Pillow库可以用来调整图片大小、添加水印等批量图片处理操作。
-
问:如何管理系统进程?
- 答:使用psutil库可以获取系统进程信息,并支持通过名称终止指定进程。