自动执行日常任务的 Python 脚本
来源:dev.to
时间:2024-11-25 15:39:36 320浏览 收藏
小伙伴们对文章编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《自动执行日常任务的 Python 脚本》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!
每个人都必须拥有的收藏......
python 凭借其简单性和强大的库改变了我们实现自动化的方式。无论您是技术爱好者、忙碌的专业人士,还是只是想简化日常工作,python 都可以帮助您自动执行重复性任务,节省时间并提高效率。这里收集了 10 个基本的 python 脚本,可以帮助您自动化日常生活的各个方面。
让我们开始吧!
1.自动发送电子邮件
手动发送电子邮件,尤其是重复发送的电子邮件,可能非常耗时。使用 python 的 smtplib 库,您可以轻松地自动化此过程。无论是发送提醒、更新还是个性化消息,这个脚本都可以处理。
import smtplib from email.mime.text import mimetext from email.mime.multipart import mimemultipart def send_email(receiver_email, subject, body): sender_email = "your_email@example.com" password = "your_password" msg = mimemultipart() msg['from'] = sender_email msg['to'] = receiver_email msg['subject'] = subject msg.attach(mimetext(body, 'plain')) try: with smtplib.smtp('smtp.gmail.com', 587) as server: server.starttls() server.login(sender_email, password) server.sendmail(sender_email, receiver_email, msg.as_string()) print("email sent successfully!") except exception as e: print(f"error: {e}") # example usage send_email("receiver_email@example.com", "subject here", "email body goes here.")
此脚本可以轻松集成到更大的工作流程中,例如发送报告或警报。
2.文件管理器
如果您的下载文件夹一片混乱,那么这个脚本适合您。它按扩展名组织文件,将它们整齐地放入子文件夹中。不再需要筛选数十个文件来找到您需要的内容!
import os from shutil import move def organize_folder(folder_path): for file in os.listdir(folder_path): if os.path.isfile(os.path.join(folder_path, file)): ext = file.split('.')[-1] ext_folder = os.path.join(folder_path, ext) os.makedirs(ext_folder, exist_ok=true) move(os.path.join(folder_path, file), os.path.join(ext_folder, file)) # example usage organize_folder("c:/users/yourname/downloads")
此脚本对于管理 pdf、图像或文档等文件特别有用。
3.网页抓取新闻头条
通过从您最喜爱的网站抓取头条新闻来了解最新新闻。 python 的“requests”和“beautifulsoup”库使这个过程变得无缝。
import requests from bs4 import beautifulsoup def fetch_headlines(url): response = requests.get(url) soup = beautifulsoup(response.content, "html.parser") headlines = [h.text for h in soup.find_all('h2', class_='headline')] return headlines # example usage headlines = fetch_headlines("https://news.ycombinator.com/") print("\n".join(headlines))
无论您是新闻迷还是需要工作更新,此脚本都可以安排每天运行。
4.每日天气通知
从天气更新开始新的一天!此脚本使用 openweathermap api 获取您所在城市的天气数据并显示温度和天气预报。
import requests def get_weather(city): api_key = "your_api_key" url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric" response = requests.get(url).json() if response.get("main"): temp = response['main']['temp'] weather = response['weather'][0]['description'] print(f"the current weather in {city} is {temp}°c with {weather}.") else: print("city not found!") # example usage get_weather("new york")
只需稍加调整,您就可以让它直接向您的手机发送通知。
5.自动化社交媒体帖子
使用 python 安排社交媒体帖子变得轻而易举。使用“tweepy”库以编程方式发布推文。
import tweepy def post_tweet(api_key, api_key_secret, access_token, access_token_secret, tweet): auth = tweepy.oauthhandler(api_key, api_key_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.api(auth) api.update_status(tweet) print("tweet posted!") # example usage post_tweet("api_key", "api_key_secret", "access_token", "access_token_secret", "hello, twitter!")
非常适合想要提前计划帖子的社交媒体管理者和内容创建者。
6.pdf 到文本转换
手动从 pdf 中提取文本非常繁琐。该脚本使用“pypdf2”库简化了流程。
from pypdf2 import pdfreader def pdf_to_text(file_path): reader = pdfreader(file_path) text = "" for page in reader.pages: text += page.extract_text() return text # example usage print(pdf_to_text("sample.pdf"))
非常适合归档或分析文本较多的文档。
7.使用 csv 进行费用跟踪
通过将费用记录到 csv 文件中来跟踪您的费用。此脚本可帮助您维护数字记录,以便稍后分析。
import csv def log_expense(file_name, date, item, amount): with open(file_name, mode='a', newline='') as file: writer = csv.writer(file) writer.writerow([date, item, amount]) print("expense logged!") # example usage log_expense("expenses.csv", "2024-11-22", "coffee", 4.5)
将其变成一种习惯,您就会清楚地了解自己的消费模式。
8.自动化桌面通知
您的计算机上需要提醒或警报吗?该脚本使用“plyer”库发送桌面通知。
from plyer import notification def send_notification(title, message): notification.notify( title=title, message=message, app_name="task automation" ) # example usage send_notification("reminder", "meeting at 3 pm.")
非常适合任务管理和事件提醒。
9.网站可用性检查
使用这个简单的脚本监控您的网站或喜爱的平台的正常运行时间。
import requests def check_website(url): try: response = requests.get(url) if response.status_code == 200: print(f"{url} is online!") else: print(f"{url} is down! status code: {response.status_code}") except exception as e: print(f"error: {e}") # example usage check_website("https://www.google.com")
对网络开发人员和企业主有用。
10.自动化数据备份
再也不用担心丢失重要文件了。该脚本自动将文件备份到指定位置。
import shutil def backup_files(source_folder, backup_folder): shutil.copytree(source_folder, backup_folder, dirs_exist_ok=True) print("Backup completed!") # Example usage backup_files("C:/ImportantData", "D:/Backup")
每周或每天运行一次,以确保您的数据始终安全。
这 10 个脚本演示了 python 如何处理重复性任务并简化您的日常生活。从管理文件到在社交媒体上发布,自动化开启了无限的可能性。选择一个脚本,对其进行自定义,并将其集成到您的工作流程中。很快,您就会想知道如果没有 python 自动化,您是如何生活的!
你会先尝试哪一个?
请在评论部分告诉我们!
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《自动执行日常任务的 Python 脚本》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
252 收藏
-
259 收藏
-
318 收藏
-
148 收藏
-
148 收藏
-
484 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习