这些"偷懒"的代码分享给大家。别担心,这些代码都很简单,就算是Python小白也能轻松上手。
批量重命名文件,从此不再手工改名
有天我要整理一堆下载的资料,几百个文件名乱七八糟的,要是手动改得累死。于是写了这段代码:
import os
def rename_files(folder_path, prefix="整理后_"):
# 获取文件列表
files = os.listdir(folder_path)
# 遍历处理每个文件
for index, file_name in enumerate(files, 1):
# 获取文件扩展名
_, ext = os.path.splitext(file_name)
# 组合新文件名
new_name = f"{prefix}{index}{ext}"
# 生成完整的文件路径
old_path = os.path.join(folder_path, file_name)
new_path = os.path.join(folder_path, new_name)
# 重命名
os.rename(old_path, new_path)
print(f"已重命名: {file_name} -> {new_name}")
# 使用示例
rename_files("D:\下载文件夹")
这段代码一次就能把一个文件夹里的所有文件重命名,以前要花半小时的工作,现在几秒钟搞定。
告别在线工具,轻松合并PDF
上周要给财务部报销,要求把发票和单据合并成一个PDF。在网上找了半天在线工具,要么要收费,要么有文件大小限制。干脆自己写了个:
from PyPDF2 import PdfMerger
import os
def merge_pdfs(folder_path, output_name="合并后的文件.pdf"):
# 创建合并器
merger = PdfMerger()
# 获取所有PDF文件
pdf_files = [f for f in os.listdir(folder_path) if f.endswith('.pdf')]
# 按名称排序
pdf_files.sort()
# 依次添加PDF文件
for pdf in pdf_files:
file_path = os.path.join(folder_path, pdf)
merger.append(file_path)
# 保存合并后的文件
output_path = os.path.join(folder_path, output_name)
merger.write(output_path)
merger.close()
print(f"合并完成!文件保存在:{output_path}")
# 使用示例(需要先安装:pip install PyPDF2)
merge_pdfs("D:\PDF文件夹")
从此再也不用为合并PDF发愁了,而且本地处理更安全,不用担心文件泄露的问题。
日报生成器,解放你的双手
每天下班要写日报,有时候忙得要死还得绞尽脑汁想今天干了啥。这个小工具能帮你生成一个基础版本,改改就能用:
import datetime
import random
class DailyReportGenerator:
def __init__(self):
self.tasks = [
"完成{project}项目的{task}",
"处理{project}的{task}问题",
"优化{project}的{task}功能",
"评审{project}的{task}方案"
]
self.projects = ["数据分析", "自动化测试", "性能优化", "系统维护"]
self.specific_tasks = ["数据处理", "功能开发", "bug修复", "文档编写"]
def generate_task(self):
task_template = random.choice(self.tasks)
return task_template.format(
project=random.choice(self.projects),
task=random.choice(self.specific_tasks)
)
def generate_report(self, task_count=4):
today = datetime.datetime.now()
report = f"工作日报 ({today.strftime('%Y-%m-%d')})\n\n"
report += "今日完成工作:\n"
for i in range(task_count):
report += f"{i+1}. {self.generate_task()}\n"
report += "\n明日计划:\n"
for i in range(2):
report += f"{i+1}. 继续{self.generate_task()}\n"
return report
# 使用示例
report_gen = DailyReportGenerator()
print(report_gen.generate_report())
记得根据自己的工作内容修改模板,生成后稍微改改就能用,比从零开始写快多了。当然这个只能作为写日报的参考,具体工作内容还是要如实记录。
文件自动备份,安全第一位
有天一个同事不小心删了重要文件,找IT恢复折腾了好久。从那以后我就写了这个自动备份的脚本:
import shutil
import os
import time
from datetime import datetime
def auto_backup(source_folder, backup_folder):
# 确保备份文件夹存在
if not os.path.exists(backup_folder):
os.makedirs(backup_folder)
# 生成备份文件夹名称(使用当前时间)
backup_time = datetime.now().strftime('%Y%m%d_%H%M%S')
backup_path = os.path.join(backup_folder, f'backup_{backup_time}')
try:
# 复制整个文件夹
shutil.copytree(source_folder, backup_path)
print(f"备份完成!文件保存在:{backup_path}")
# 删除超过7天的旧备份
clean_old_backups(backup_folder, days=7)
except Exception as e:
print(f"备份出错:{str(e)}")
def clean_old_backups(backup_folder, days):
"""删除指定天数之前的备份"""
current_time = time.time()
for folder in os.listdir(backup_folder):
folder_path = os.path.join(backup_folder, folder)
# 检查文件夹的创建时间
creation_time = os.path.getctime(folder_path)
if (current_time - creation_time) // (24 * 3600) >= days:
shutil.rmtree(folder_path)
print(f"已删除旧备份:{folder}")
# 使用示例
auto_backup(
"D:\重要文件", # 需要备份的文件夹
"D:\文件备份" # 备份存放的位置
)
这个脚本不仅能自动备份,还会自动清理老文件,省得占太多硬盘空间。配合Windows的任务计划,可以设置每天自动运行。
开始用Python可能会觉得有点麻烦,但一旦掌握了这些小技巧,工作效率真的能提升不少。这些代码都是我实际工作中一点点摸索出来的,希望也能帮到你。
使用之前记得先安装需要的包:
pip install PyPDF2
建议把这些代码保存成py文件,放在方便找到的地方,需要用的时候双击运行就行。