Recherche de site Web

20 scripts Python pour automatiser les tâches quotidiennes


Ayant passé plus d’une décennie dans le monde de la programmation, j’ai appris que l’automatisation des tâches répétitives peut permettre d’économiser beaucoup de temps et d’efforts.

Python, avec sa syntaxe simple et ses bibliothèques puissantes, est l'un des meilleurs langages de programmation pour créer des scripts d'automatisation. Que vous soyez programmeur ou quelqu'un cherchant à faciliter les tâches quotidiennes, Python propose des outils qui peuvent vous aider.

Dans cet article, je partagerai 20 scripts Python que j'ai utilisés pour automatiser diverses tâches. Ces scripts sont parfaits pour tous ceux qui souhaitent gagner du temps et améliorer l'efficacité de leur routine de travail.

1. Renommer des fichiers en masse

Renommer les fichiers un par un peut être une tâche fastidieuse, mais avec Python, vous pouvez facilement automatiser cette opération en utilisant le module os.

Voici un script simple qui renomme plusieurs fichiers dans un dossier en fonction d'un modèle donné :

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

Ce script recherche les fichiers contenant old_name_part dans leurs noms et le remplace par new_name_part.

2. Sauvegarde automatique des fichiers

Nous savons tous à quel point il est important de sauvegarder régulièrement les fichiers, et cette tâche peut être facilement automatisée à l'aide du module shutil de Python.

Ce script copiera tous les fichiers d'un répertoire à un autre à des fins de sauvegarde :

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)

Vous pouvez planifier l'exécution quotidienne de ce script à l'aide d'outils de planification de tâches tels que cron (Linux) ou le Planificateur de tâches (Windows).

3. Téléchargement de fichiers depuis Internet

Si vous téléchargez fréquemment des fichiers depuis Internet, vous pouvez automatiser cette tâche à l'aide de la bibliothèque requests.

Voici un script simple pour télécharger des fichiers à partir d'URL :

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)

Ce script télécharge le fichier à partir de l'URL spécifiée et l'enregistre dans votre dossier spécifié.

4. Automatisation des rapports par courrier électronique

Si vous devez envoyer régulièrement des rapports par e-mail, vous pouvez l'automatiser à l'aide de la bibliothèque smtplib, qui vous permet d'envoyer facilement des e-mails depuis un compte Gmail :

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

Ce script enverra un simple e-mail avec un sujet et un corps à un destinataire spécifié. Assurez-vous d'activer les applications moins sécurisées dans Gmail si vous utilisez cette méthode.

5. Planificateur de tâches (automatisation des tâches)

La planification des tâches peut être effectuée facilement à l'aide de la bibliothèque schedule, qui vous permet d'automatiser des tâches comme l'envoi d'un e-mail ou l'exécution d'un script de sauvegarde à des moments précis :

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)

Ce script continuera à s'exécuter et déclenchera des tâches à l'heure spécifiée, dans ce cas, 10h00 tous les jours.

6. Web Scraping pour la collecte de données

Le Web scraping est une technique puissante pour automatiser la collecte de données à partir de sites Web, et les bibliothèques BeautifulSoup et requests de Python rendent ce processus simple.

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)

Ce script récupère le contenu d'une page Web et imprime tous les en-têtes (balises h1). Vous pouvez l'ajuster pour récupérer d'autres types de données.

7. Automatisation des publications sur les réseaux sociaux

Si vous gérez des comptes de réseaux sociaux, vous pouvez automatiser la publication en utilisant des bibliothèques telles que Tweepy (pour Twitter) et Instagram-API (pour Instagram) qui vous permettent de publier automatiquement.

Vous trouverez ci-dessous un exemple d'utilisation de la bibliothèque Tweepy pour publier un tweet :

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!")

Ce script publie un tweet avec le message « Bonjour tout le monde ! » sur votre compte Twitter.

8. Automatisation de la génération de factures

Si vous générez régulièrement des factures, vous pouvez les automatiser à l'aide de bibliothèques comme Fpdf, qui créeront des factures PDF :

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)

Ce script crée une facture simple et l'enregistre au format PDF.

9. Surveillance de la disponibilité du site Web

Python peut être utilisé pour automatiser la surveillance de la disponibilité d'un site Web à l'aide de la bibliothèque requests, qui peut vérifier périodiquement si un site Web est en ligne ou non :

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

Ce script vérifie si le site Web est en ligne et imprime le code d'état.

10. Réponse automatique aux e-mails

Si vous recevez souvent des e-mails et souhaitez configurer une réponse automatique, utilisez les bibliothèques imaplib et smtplib pour répondre automatiquement aux e-mails :

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

Ce script répond automatiquement aux e-mails non lus avec un message prédéfini.

11. Nettoyage de fichiers

Python fournit un moyen efficace d'automatiser le nettoyage des fichiers, en particulier pour supprimer ou déplacer d'anciens fichiers afin de maintenir des répertoires organisés.

Vous trouverez ci-dessous un script simple qui supprime les fichiers datant de plus d'un nombre de jours spécifié à l'aide des modules os et time.

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. Générer automatiquement des mots de passe

La création de mots de passe forts et uniques est essentielle pour la sécurité, et Python peut aider à automatiser ce processus à l'aide du module random.

Vous trouverez ci-dessous un script simple qui génère des mots de passe aléatoires d'une longueur spécifiée, incorporant des lettres, des chiffres et des caractères spéciaux pour renforcer la sécurité.

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. Suivi/rappel des tâches

La création d'un système de suivi des tâches ou de rappel en Python peut être réalisée à l'aide des modules datetime et schedule.

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)

Ce script envoie un rappel concernant la tâche à une heure planifiée.

14. Générer automatiquement des rapports quotidiens

Automatisez les rapports quotidiens en utilisant Python pour collecter des données et les formater dans un rapport :

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. Surveiller les ressources système

Si vous êtes un administrateur système, vous pouvez utiliser Python pour surveiller les ressources de votre système telles que l'utilisation du processeur et de la mémoire, à l'aide de la bibliothèque psutil.

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. Redimensionnement d'images par lots

Si vous devez redimensionner des images en masse, Python vous facilite la tâche avec la bibliothèque Pillow.

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)

Ce script redimensionne toutes les images .jpg d'un dossier aux dimensions spécifiées.

17. Automatisation de la sauvegarde des données sur le cloud

L'automatisation des sauvegardes sur des services cloud comme Google Drive est rendue possible avec Python à l'aide de bibliothèques telles que pydrive.

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. Créer des rappels quotidiens

Définir des rappels quotidiens est facile avec le module time, qui vous rappellera de boire de l'eau toutes les 2 heures :

import time

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

water_reminder()

19. Automatisation de la saisie des données dans Excel

Si vous saisissez fréquemment des données dans Excel, Python peut vous aider à automatiser cette tâche avec la bibliothèque 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. Automatisation du nettoyage des données

Si vous travaillez avec de grands ensembles de données, Python peut automatiser les tâches de nettoyage des données, qui supprimeront les lignes vides d'un fichier 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)
Conclusion

Ce ne sont là que quelques exemples de ce que Python peut faire pour automatiser vos tâches quotidiennes. Avec sa syntaxe simple et ses bibliothèques puissantes, Python peut gérer presque toutes les tâches que vous lui confiez.

Que vous gériez des fichiers, envoyiez des e-mails ou génériez des rapports, Python peut vous faire gagner du temps et améliorer votre productivité. Alors, lancez-vous dès aujourd’hui avec l’automatisation Python et laissez-la gérer vos tâches quotidiennes !

Articles connexes: