登录
首页 >  文章 >  python教程

自动执行日常任务的 Python 脚本

来源:dev.to

时间:2024-11-25 15:39:36 320浏览 收藏

小伙伴们对文章编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《自动执行日常任务的 Python 脚本》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

自动执行日常任务的 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学习网公众号了解相关技术文章。

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>