21个Python脚本自动执行日常任务(2)
off999 2024-12-28 14:43 36 浏览 0 评论
引言
作为编程领域摸爬滚打超过十年的老手,我深刻体会到,自动化那些重复性工作能大大节省我们的时间和精力。
Python以其简洁的语法和功能强大的库支持,成为了编写自动化脚本的首选语言。无论你是专业的程序员,还是希望简化日常工作的普通人,Python都能提供你需要的工具。
本文[1]将介绍我实际使用过的21个Python脚本,它们能帮助你自动化各种任务,特别适合那些希望在工作中节省时间、提升效率的朋友。
11. 文件整理
Python 提供了一种高效的自动化文件整理方法,特别是对于删除或移动旧文件,以维护目录的整洁有序。
下面是一个简单的脚本示例,它利用 os 和 time 模块删除超过一定天数的旧文件。
import aiofiles
import os
import asyncio
import time
async def clean_up(folder_path, days_old):
now = time.time()
cutoff_time = now - (days_old * 86400)
for filename in os.listdir(folder_path):
file_path = os.path.join(folder_path, filename)
if os.path.getmtime(file_path) < cutoff_time:
await aiofiles.os.remove(file_path)
print(f"Deleted {filename}")
folder = '/path/to/your/folder'
asyncio.run(clean_up(folder, 30))
12. 自动化生成密码
为了保障安全,创建强大且唯一的密码是必不可少的,Python 利用 random 模块可以简化这一流程。
以下是一个简单的脚本示例,它能够生成包含字母、数字和特殊字符的随机密码,长度可指定,以提高密码的安全性。
import random
import asyncio
import string
async def generate_password(length=12):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for _ in range(length))
return password
async def generate_multiple_passwords(n, length=12):
tasks = [generate_password(length) for _ in range(n)]
passwords = await asyncio.gather(*tasks)
print(passwords)
asyncio.run(generate_multiple_passwords(5))
13. 任务追踪与提醒工具
利用 Python 的 datetime 和 asyncio 模块,可以开发出任务追踪或提醒系统。
import asyncio
from datetime import datetime
async def task_reminder(task_name, interval):
while True:
print(f"Reminder: {task_name} - {datetime.now()}")
await asyncio.sleep(interval)
async def main():
await asyncio.gather(
task_reminder("Drink Water", 7200), # Remind every 2 hours
task_reminder("Take a Break", 3600) # Remind every 1 hour
)
asyncio.run(main())
这个脚本会在设定的时间提醒你关于任务的事项。
14. 自动化生成日报告
利用 Python 来收集数据并整理成报告,可以实现日报的自动化生成。
import datetime
import aiofiles
import asyncio
async def generate_report(data):
today = datetime.date.today()
filename = f"daily_report_{today}.txt"
async with aiofiles.open(filename, 'w') as file:
await file.write(f"Report for {today}\n")
await file.write("\n".join(data))
print(f"Report generated: {filename}")
data = ["Task 1: Completed", "Task 2: Pending", "Task 3: Completed"]
asyncio.run(generate_report(data))
15. 系统资源监控
作为系统管理员,你可以利用 Python 和 psutil 库来监控系统的资源使用情况,例如 CPU 和内存。
import psutil
def monitor_resources():
cpu_usage = psutil.cpu_percent(interval=1)
memory_usage = psutil.virtual_memory().percent
print(f"CPU Usage: {cpu_usage}%")
print(f"Memory Usage: {memory_usage}%")
monitor_resources()
16. 批量调整图片尺寸
若需对多张图片进行尺寸调整,Python 配合 Pillow 库能够轻松完成这一任务。
from PIL import Image
import os
import asyncio
from concurrent.futures import ProcessPoolExecutor
def resize_image(filename, width, height):
img = Image.open(filename)
img = img.resize((width, height))
img.save(f"resized_{filename}")
return f"Resized {filename}"
async def resize_images(folder_path, width, height):
with ProcessPoolExecutor() as executor:
loop = asyncio.get_event_loop()
tasks = []
for filename in os.listdir(folder_path):
if filename.endswith('.jpg'):
tasks.append(loop.run_in_executor(
executor, resize_image, os.path.join(folder_path, filename), width, height))
results = await asyncio.gather(*tasks)
print(results)
folder = '/path/to/your/images'
asyncio.run(resize_images(folder, 800, 600))
这个脚本会将文件夹内所有 .jpg 格式的图片调整为特定的尺寸。
17. 自动化数据备份至云存储
利用 Python 和 pydrive 等库,可以轻松实现数据自动备份到像 Google Drive 这样的云服务。
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
def backup_to_google_drive(file_path):
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
drive = GoogleDrive(gauth)
file = drive.CreateFile({'title': 'backup_file.txt'})
file.Upload()
print("Backup uploaded successfully!")
file = '/path/to/your/file.txt' backup_to_google_drive(file)
18. 设置每日提醒事项
利用 time 模块,可以轻松设定每日提醒,比如每两小时提醒你喝水:
import time
def water_reminder():
while True:
print("Time to drink water!")
time.sleep(7200) # Remind every 2 hours
water_reminder()
19. 将数据自动填入
Excel 若你经常需要手动输入数据到 Excel,Python 结合 openpyxl 库能够自动化这一繁琐的工作:
from openpyxl import Workbook
def create_excel(data):
wb = Workbook()
ws = wb.active
for row in data:
ws.append(row)
wb.save('data.xlsx')
print("Excel file created successfully!")
data = [
["Name", "Age", "City"],
["John", 30, "New York"],
["Anna", 25, "London"],
]
create_excel(data)
20. 数据清洗自动化
在处理大规模数据集时,Python 能够帮助自动化执行数据清洗工作,比如清除 CSV 文件中的空白行。
import csv
def clean_csv(file_path):
with open(file_path, 'r') as infile:
reader = csv.reader(infile)
rows = [row for row in reader if any(row)]
with open(file_path, 'w', newline='') as outfile:
writer = csv.writer(outfile)
writer.writerows(rows)
print("Empty rows removed from CSV")
file = '/path/to/your/data.csv' clean_csv(file)
21. 图像中文字的提取
利用 Python 的 pytesseract 库,我们可以从图像中提取文字,这在将打印内容数字化或从扫描文件中提取文字时非常有用。
from PIL import Image
import pytesseract
def extract_text_from_image(image_path):
# Open the image file
img = Image.open(image_path)
# Use pytesseract to extract text
text = pytesseract.image_to_string(img)
return text
image_path = 'path_to_your_image.jpg'
extracted_text = extract_text_from_image(image_path)
print("Extracted Text:\n", extracted_text)
总结
这些仅是 Python 在自动化日常工作中的几个示例。Python 以其简洁的语法和功能丰富的库,几乎能够应对你抛出的任何挑战。
无论是文件管理、发送邮件还是制作报告,Python 都能帮你节省时间并提升工作效率。因此,立即开始使用 Python 进行自动化,让它成为你处理日常杂务的得力助手!
[1]Source: https://www.tecmint.com/python-automation-scripts/
相关推荐
- 恢复大师app下载(恢复大师app下载软件)
-
是真的。开心手机恢复大师是一款苹果手机数据恢复软件,可以恢复删除的微信聊天记录、短信、通讯录、备忘录、qq聊天记录等17种数据。我测试了一下,确实是可以恢复的。而且开心手机恢复大师是可以免费试用的,是...
- windowsxp下载网站(windows xp download)
-
目前无法下载因为红色警戒XP电脑版是一款已经停止开发的游戏,官方已经停止了对其的支持和更新。虽然网上有一些模拟器可以运行该游戏,但是安装和使用相对困难,而且可能存在版权问题。建议玩家选择其他同类型的游...
- 没人用过的激活码没过期(没人用过的激活码没过期可以用吗)
-
迷你世界并不存在什么激活码的。《迷你世界》是一款高度自由的休闲类3D沙盒游戏,有着非常方便快捷的多人联机模式,只要有网络就能和各个地方的小伙伴们一起玩。这里没有等级和规则限制,没有规定的玩法,只有随心...
- 2017年联想笔记本电脑有几款
-
17年的笔记本电脑可以勉强安装一下win10系统试试。关键看你的内存有多少,内存大于4个G的话可以安装win10速度不会太慢。最好是安装win7系统,这样能发挥你这台电脑的所有的性能,你用起来也会感觉...
- 当前显卡排名(当下显卡排行)
-
101、Irispro5802、Iris62002、Iris52004、UHD630/6205、HD6306、HD5307、HD46008、HD44009、HD420010、HD40...
- win10专业版激活变成企业版(win10专业版激活变成企业版怎么办)
-
win10永久激活密钥很少,一旦网上有分享,等你拿到时就超过期限了,一般是要购买。激活win10系统可以使用激活工具:win10激活工具下载一、win10专业版产品密钥NXRQM-CXV6P-PBGV...
- ghostwinxp下载纯净版(ghost win7纯净版下载)
-
可以下载的,现在官网和其他网站上都可以下载xp原版的。可以通过以下步骤下载我的世界游戏到xp系统中:1.首先打开你的浏览器软件,搜索关键字“我的世界xp版下载”,找到可靠下载地址;2.从下载页面下...
- 惠普完整版驱动(惠普最新驱动)
-
惠普官方的标准操作:HP1050安装驱动步骤:一:准备:拿出驱动光盘放入光驱或到HP官网下载完整版驱动。二:不要插USB数据线或插上线打印机电源不要开,安装完整版驱动,当程序提示插入USB数据线时,插...
- 浏览器最好用的(浏览器最好用的插件)
-
一、谷歌浏览器谷歌浏览器是公认最好用的,这个可以从市场占有率看出端倪,超过三分之二的用户使用谷歌浏览器。Chrome浏览器以简洁快速著称,不管是普通用户还是开发人员,chrome浏览器都是首选。Chr...
- fast路由器6位初始密码(fast路由器的密码)
-
答:fast路由器初始密码是admin;新款的迅捷无线路由器,管理界面没有初始密码。查看迅捷无线路由器底部标签,标签上标注了admin,说明初始密码就是admin;如果没有,说明该路由器没有初始密码。...
- 硬盘恢复软件哪个好(硬盘 恢复软件)
-
迷你兔数据恢复工具:支持恢复硬盘丢失的数据Pc3000数据恢复软件是一款非常专业的硬盘修复工具,能够对电脑硬盘资料数据进行修复,通过使用这个软件可以解决硬盘数据丢失故障,是一个用户进行硬盘资料修复好帮...
- 十大品牌监控摄像头排名(十大品牌监控摄像头排名第一)
-
答:1、华为/HUAWEI9.92、小米/MI9.63、罗技/Logitech9.64、海康威视/HIKVISION9.25、乔安/Jooan9.26、普联/TP-LINK9.27、乐橙8.98、萤石...
- 360手机助手老旧版本大全(360手机助手 老版本)
-
在设置里面找到历史记录就可能查看360手机助手·换机神器是安卓系统的换机软件,因为苹果的换机软件是爱思。1、打开360手机卫士,登陆账号,点击账号。2、进入个人中心,点击账户安全,在密保工具中,点击解...
- 系统应用工程师(系统工程的应用)
-
信息软件系统工程师有前途,毕业以后可以从事软件开发,软件系统的维护,运营等等,和计算机有关的工作内容,因为计算机专业可以说是一个非常热门的专业,很多的大型企业公司基本上都是以计算机研发为主的,薪资福利...
- qq恢复系统常见问题(qq恢复系统常见问题及答案)
-
QQ好友恢复系统一直显示服务器频繁有可能是系统的问题,你的qq重新更新一下,或者你卸载了重新下载一下就有可能好了。您好,很高兴为您解答:您可以试试清空下IE内存,然后关掉不必要的程序,尽量在电脑运...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
