Website-Suche

20 Python-Skripte zur Automatisierung alltäglicher Aufgaben


Da ich über ein Jahrzehnt in der Programmierwelt tätig bin, habe ich gelernt, dass die Automatisierung sich wiederholender Aufgaben eine erhebliche Menge an Zeit und Mühe einsparen kann.

Python ist mit seiner einfachen Syntax und leistungsstarken Bibliotheken eine der besten Programmiersprachen zum Erstellen von Automatisierungsskripten. Ganz gleich, ob Sie Programmierer sind oder Ihre täglichen Aufgaben einfacher machen möchten: Python bietet Tools, die Ihnen dabei helfen können.

In diesem Artikel werde ich 20 Python-Skripte vorstellen, die ich zur Automatisierung verschiedener Aufgaben verwendet habe. Diese Skripte sind perfekt für alle, die Zeit sparen und die Effizienz in ihrem Arbeitsalltag verbessern möchten.

1. Dateien in großen Mengen umbenennen

Dateien einzeln umzubenennen kann eine zeitaufwändige Aufgabe sein, aber mit Python können Sie dies mithilfe des OS-Moduls problemlos automatisieren.

Hier ist ein einfaches Skript, das mehrere Dateien in einem Ordner nach einem vorgegebenen Muster umbenennt:

import os

def bulk_rename(folder_path, old_name_part, new_name_part):
    for filename in os.listdir(folder_path):
        if old_name_part in filename:
            new_filename = filename.replace(old_name_part, new_name_part)
            os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
            print(f"Renamed {filename} to {new_filename}")

folder = '/path/to/your/folder' bulk_rename(folder, 'old_part', 'new_part')

Dieses Skript sucht nach Dateien, deren Namen old_name_part enthalten, und ersetzt diese durch new_name_part.

2. Dateien automatisch sichern

Wir alle wissen, wie wichtig es ist, Dateien regelmäßig zu sichern, und diese Aufgabe kann mit dem shutil-Modul von Python leicht automatisiert werden.

Dieses Skript kopiert alle Dateien zu Sicherungszwecken von einem Verzeichnis in ein anderes:

import shutil
import os

def backup_files(src_dir, dest_dir):
    if not os.path.exists(dest_dir):
        os.makedirs(dest_dir)
    for file in os.listdir(src_dir):
        full_file_name = os.path.join(src_dir, file)
        if os.path.isfile(full_file_name):
            shutil.copy(full_file_name, dest_dir)
            print(f"Backed up {file} to {dest_dir}")

source = '/path/to/source/directory' destination = '/path/to/destination/directory' backup_files(source, destination)

Sie können die tägliche Ausführung dieses Skripts mithilfe von Aufgabenplanungstools wie cron (Linux) oder Task Scheduler (Windows) planen.

3. Herunterladen von Dateien aus dem Internet

Wenn Sie häufig Dateien aus dem Internet herunterladen, können Sie diese Aufgabe mithilfe der requests-Bibliothek automatisieren.

Hier ist ein einfaches Skript zum Herunterladen von Dateien von URLs:

import requests

def download_file(url, destination_folder):
    response = requests.get(url)
    if response.status_code == 200:
        with open(destination_folder, 'wb') as file:
            file.write(response.content)
        print(f"Downloaded {url} to {destination_folder}")
    else:
        print(f"Failed to download {url}")

url = 'https://example.com/file.pdf' destination = '/path/to/destination/file.pdf' download_file(url, destination)

Dieses Skript lädt die Datei von der angegebenen URL herunter und speichert sie in Ihrem angegebenen Ordner.

4. E-Mail-Berichte automatisieren

Wenn Sie regelmäßig E-Mail-Berichte senden müssen, können Sie dies mithilfe der smtplib-Bibliothek automatisieren, mit der Sie ganz einfach E-Mails von einem Gmail-Konto senden können:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def send_email(subject, body, to_email):
    sender_email = '[email ' sender_password = 'yourpassword' receiver_email = to_email msg = MIMEMultipart() msg['From'] = sender_email msg['To'] = receiver_email msg['Subject'] = subject msg.attach(MIMEText(body, 'plain')) try: server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login(sender_email, sender_password) server.sendmail(sender_email, receiver_email, msg.as_string()) server.quit() print("Email sent successfully!") except Exception as e: print(f"Failed to send email: {e}") subject = 'Monthly Report' body = 'Here is the monthly report.' send_email(subject, body, '[email ')

Dieses Skript sendet eine einfache E-Mail mit Betreff und Text an einen angegebenen Empfänger. Stellen Sie sicher, dass weniger sichere Apps in Gmail aktiviert sind, wenn Sie diese Methode verwenden.

5. Taskplaner (Aufgabenautomatisierung)

Mit der Bibliothek schedule können Sie ganz einfach Aufgaben planen, mit der Sie Aufgaben wie das Versenden einer E-Mail oder das Ausführen eines Backup-Skripts zu bestimmten Zeiten automatisieren können:

import schedule
import time

def job():
    print("Running scheduled task!")

Schedule the task to run every day at 10:00 AM
schedule.every().day.at("10:00").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

Dieses Skript wird zur angegebenen Zeit weiter ausgeführt und löst Aufgaben aus, in diesem Fall jeden Tag 10:00 Uhr.

6. Web Scraping zur Datenerfassung

Web Scraping ist eine leistungsstarke Technik zur Automatisierung der Datenerfassung von Websites, und die Python-Bibliotheken BeautifulSoup und requests machen diesen Prozess unkompliziert.

import requests
from bs4 import BeautifulSoup

def scrape_website(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    data = soup.find_all('h1')  # Example: Get all headings
    for item in data:
        print(item.text)

url = 'https://example.com' scrape_website(url)

Dieses Skript ruft den Inhalt einer Webseite ab und gibt alle Überschriften (h1-Tags) aus. Sie können es anpassen, um andere Datentypen zu extrahieren.

7. Automatisierung von Social-Media-Beiträgen

Wenn Sie Social-Media-Konten verwalten, können Sie das Posten automatisieren, indem Sie Bibliotheken wie Tweepy (für Twitter) und Instagram-API (für Instagram) verwenden, die Ihnen das automatische Posten ermöglichen.

Unten sehen Sie ein Beispiel für die Verwendung der Tweepy-Bibliothek zum Posten eines Tweets:

import tweepy

def tweet(message):
    consumer_key = 'your_consumer_key'
    consumer_secret = 'your_consumer_secret'
    access_token = 'your_access_token'
    access_token_secret = 'your_access_token_secret'

    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)

    api = tweepy.API(auth)

    api.update_status(message)
    print("Tweet sent successfully!")

tweet("Hello, world!")

Dieses Skript postet einen Tweet mit der Nachricht „Hello, world!“ an Ihr Twitter-Konto.

8. Automatisierung der Rechnungserstellung

Wenn Sie regelmäßig Rechnungen erstellen, können Sie dies mithilfe von Bibliotheken wie Fpdf automatisieren, die PDF-Rechnungen erstellen:

from fpdf import FPDF

def create_invoice(client_name, amount):
    pdf = FPDF()
    pdf.add_page()
    pdf.set_font("Arial", size=12)
    pdf.cell(200, 10, txt="Invoice", ln=True, align='C')
    pdf.cell(200, 10, txt=f"Client: {client_name}", ln=True, align='L')
    pdf.cell(200, 10, txt=f"Amount: ${amount}", ln=True, align='L')
    pdf.output(f"{client_name}_invoice.pdf")
    print(f"Invoice for {client_name} created successfully!")

create_invoice('John Doe', 500)

Dieses Skript erstellt eine einfache Rechnung und speichert sie als PDF.

9. Überwachung der Website-Verfügbarkeit

Python kann verwendet werden, um die Überwachung der Website-Verfügbarkeit mithilfe der requests-Bibliothek zu automatisieren, die regelmäßig überprüfen kann, ob eine Website online ist oder nicht:

import requests
import time

def check_website(url):
    try:
        response = requests.get(url)
        if response.status_code == 200:
            print(f"Website {url} is up!")
        else:
            print(f"Website {url} returned a status code {response.status_code}")
    except requests.exceptions.RequestException as e:
        print(f"Error checking website {url}: {e}")

url = 'https://example.com' while True: check_website(url) time.sleep(3600) # Check every hour

Dieses Skript prüft, ob die Website online ist und gibt den Statuscode aus.

10. Automatische Antwort auf E-Mails

Wenn Sie häufig E-Mails erhalten und eine automatische Antwort einrichten möchten, verwenden Sie die Bibliotheken imaplib und smtplib, um automatisch auf E-Mails zu antworten:

import imaplib
import smtplib
from email.mime.text import MIMEText

def auto_reply():
    # Connect to email server
    mail = imaplib.IMAP4_SSL("imap.gmail.com")
    mail.login('[email ', 'yourpassword') mail.select('inbox') # Search for unread emails status, emails = mail.search(None, 'UNSEEN') if status == "OK": for email_id in emails[0].split(): status, email_data = mail.fetch(email_id, '(RFC822)') email_msg = email_data[0][1].decode('utf-8') # Send auto-reply send_email("Auto-reply", "Thank you for your email. I'll get back to you soon.", '[email ') def send_email(subject, body, to_email): sender_email = '[email ' sender_password = 'yourpassword' receiver_email = to_email msg = MIMEText(body) msg['From'] = sender_email msg['To'] = receiver_email msg['Subject'] = subject with smtplib.SMTP_SSL('smtp.gmail.com', 465) as server: server.login(sender_email, sender_password) server.sendmail(sender_email, receiver_email, msg.as_string()) auto_reply()

Dieses Skript antwortet automatisch auf ungelesene E-Mails mit einer vordefinierten Nachricht.

11. Dateibereinigung

Python bietet eine effektive Möglichkeit, die Dateibereinigung zu automatisieren, insbesondere zum Löschen oder Verschieben alter Dateien, um organisierte Verzeichnisse beizubehalten.

Nachfolgend finden Sie ein einfaches Skript, das mithilfe der Module os und time Dateien löscht, die älter als eine angegebene Anzahl von Tagen sind.

import os
import time

def clean_up(folder_path, days_old):
    now = time.time()
    cutoff_time = now - (days_old * 86400)  # 86400 seconds in a day
    for filename in os.listdir(folder_path):
        file_path = os.path.join(folder_path, filename)
        if os.path.getmtime(file_path) < cutoff_time:
            os.remove(file_path)
            print(f"Deleted {filename}")

folder = '/path/to/your/folder' clean_up(folder, 30) # Delete files older than 30 days

12. Passwörter automatisch generieren

Das Erstellen starker, eindeutiger Passwörter ist für die Sicherheit unerlässlich, und Python kann dabei helfen, diesen Prozess mithilfe des random-Moduls zu automatisieren.

Unten finden Sie ein einfaches Skript, das zufällige Passwörter einer bestimmten Länge generiert und zur Erhöhung der Sicherheit Buchstaben, Ziffern und Sonderzeichen enthält.

import random
import string

def generate_password(length=12):
    # Define the character set: letters, digits, and punctuation
    characters = string.ascii_letters + string.digits + string.punctuation
    
    # Generate a random password
    password = ''.join(random.choice(characters) for _ in range(length))
    
    return password

Example usage: generate a password of 16 characters
password_length = 16
random_password = generate_password(password_length)
print(f"Generated Password: {random_password}")

13. Aufgabenverfolgung/Erinnerung

Das Erstellen eines Aufgaben-Trackers oder Erinnerungssystems in Python kann mithilfe der Module datetime und schedule erfolgen.

import schedule
import time
from datetime import datetime

def task_reminder(task_name):
    print(f"Reminder: {task_name} - {datetime.now()}")

schedule.every().day.at("09:00").do(task_reminder, task_name="Morning Meeting")

while True:
    schedule.run_pending()
    time.sleep(1)

Dieses Skript sendet zu einem geplanten Zeitpunkt eine Erinnerung an die Aufgabe.

14. Tägliche Berichte automatisch generieren

Automatisieren Sie tägliche Berichte, indem Sie mit Python Daten sammeln und in einen Bericht formatieren:

import datetime

def generate_report(data):
    today = datetime.date.today()
    filename = f"daily_report_{today}.txt"
    with open(filename, 'w') as file:
        file.write(f"Report for {today}\n")
        file.write("\n".join(data))
    print(f"Report generated: {filename}")

data = ["Task 1: Completed", "Task 2: Pending", "Task 3: Completed"]
generate_report(data)

15. Überwachen Sie die Systemressourcen

Wenn Sie ein Systemadministrator sind, können Sie Python verwenden, um die Ressourcen Ihres Systems wie CPU- und Speichernutzung mithilfe der Bibliothek psutil zu überwachen.

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. Größenänderung von Stapelbildern

Wenn Sie die Größe von Bildern in großen Mengen ändern müssen, erleichtert Ihnen Python dies mit der Pillow-Bibliothek.

from PIL import Image
import os

def resize_images(folder_path, width, height):
    for filename in os.listdir(folder_path):
        if filename.endswith('.jpg'):
            img = Image.open(os.path.join(folder_path, filename))
            img = img.resize((width, height))
            img.save(os.path.join(folder_path, f"resized_{filename}"))
            print(f"Resized {filename}")

folder = '/path/to/your/images' resize_images(folder, 800, 600)

Dieses Skript ändert die Größe aller .jpg-Bilder in einem Ordner auf die angegebenen Abmessungen.

17. Automatisierung der Datensicherung in der Cloud

Die Automatisierung von Backups zu Cloud-Diensten wie Google Drive wird mit Python mithilfe von Bibliotheken wie pydrive ermöglicht.

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. Tägliche Erinnerungen erstellen

Mit dem time-Modul können Sie ganz einfach tägliche Erinnerungen einrichten, die Sie alle 2 Stunden daran erinnern, Wasser zu trinken:

import time

def water_reminder():
    while True:
        print("Time to drink water!")
        time.sleep(7200)  # Remind every 2 hours

water_reminder()

19. Automatisieren der Dateneingabe in Excel

Wenn Sie häufig Daten in Excel eingeben, kann Python dabei helfen, diese Aufgabe mit der openpyxl-Bibliothek zu automatisieren:

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. Automatisierung der Datenbereinigung

Wenn Sie mit großen Datensätzen arbeiten, kann Python Datenbereinigungsaufgaben automatisieren, wodurch leere Zeilen aus einer CSV-Datei entfernt werden:

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)
Abschluss

Dies sind nur einige Beispiele dafür, was Python tun kann, um Ihre täglichen Aufgaben zu automatisieren. Mit seiner einfachen Syntax und leistungsstarken Bibliotheken kann Python nahezu jede Aufgabe bewältigen, die Sie ihm stellen.

Ganz gleich, ob Sie Dateien verwalten, E-Mails senden oder Berichte erstellen – Python kann Ihnen Zeit sparen und Ihre Produktivität steigern. Beginnen Sie also noch heute mit der Python-Automatisierung und lassen Sie es Ihre täglichen Aufgaben erledigen!

Verwandte Artikel: