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!