Comment créer des répertoires et des fichiers avec Python

PythonBeginner
Pratiquer maintenant

Introduction

Dans ce tutoriel, nous allons explorer les bases de la gestion des fichiers et des répertoires à l'aide du langage de programmation Python. Vous apprendrez à créer des répertoires, ainsi qu'à créer et manipuler des fichiers, ce qui vous permettra d'automatiser efficacement vos tâches liées au système de fichiers.

Comprendre les bases des fichiers et des répertoires

Dans le monde de la programmation Python, travailler avec des fichiers et des répertoires est une compétence fondamentale. Pour créer, gérer et manipuler efficacement des fichiers et des répertoires, il est essentiel de comprendre les concepts et la terminologie de base.

Bases du système de fichiers

Le système de fichiers est la manière dont votre ordinateur organise et stocke les fichiers et les répertoires (également appelés dossiers). Chaque fichier et chaque répertoire a un chemin unique qui identifie son emplacement dans la hiérarchie du système de fichiers.

Dans un système de fichiers typique, vous trouverez les éléments clés suivants :

  • Fichier : Un fichier est une collection de données stockées sur un dispositif de stockage, tel qu'un disque dur ou un disque SSD. Les fichiers peuvent contenir du texte, des images, de l'audio, de la vidéo ou tout autre type de contenu numérique.
  • Répertoire : Un répertoire, également appelé dossier, est un conteneur qui peut contenir des fichiers et d'autres répertoires. Les répertoires aident à organiser vos fichiers de manière logique et hiérarchique.
  • Chemin : Un chemin est l'emplacement d'un fichier ou d'un répertoire dans le système de fichiers. Il est composé des noms de répertoires et du nom de fichier, séparés par une barre oblique (/) sur Linux/macOS ou un antislash (\) sur Windows.

Comprendre les chemins absolus et relatifs

Lorsque vous travaillez avec des fichiers et des répertoires, vous rencontrerez deux types de chemins :

  1. Chemin absolu : Un chemin absolu est une référence complète et non ambiguë à l'emplacement d'un fichier ou d'un répertoire, à partir de la racine du système de fichiers. Par exemple, sur un système Linux, le chemin absolu du répertoire personnel de l'utilisateur pourrait être /home/username.
  2. Chemin relatif : Un chemin relatif est une référence à un fichier ou à un répertoire par rapport au répertoire de travail actuel. Les chemins relatifs sont souvent plus courts et plus pratiques à utiliser que les chemins absolus. Par exemple, si vous êtes dans le répertoire /home/username/documents, le chemin relatif d'un fichier nommé example.txt dans le même répertoire serait example.txt.

Pour naviguer dans le système de fichiers en Python, vous pouvez utiliser les modules os et os.path, qui fournissent un ensemble de fonctions et de méthodes pour interagir avec le système d'exploitation et le système de fichiers.

import os

## Get the current working directory
current_dir = os.getcwd()
print(f"Current directory: {current_dir}")

## Change the current working directory
os.chdir("/path/to/new/directory")

En comprenant ces concepts de base des fichiers et des répertoires, vous serez bien équipé pour créer, gérer et manipuler des fichiers et des répertoires à l'aide de Python.

Créer des répertoires avec Python

Créer des répertoires est une tâche courante en programmation Python. Le module os fournit plusieurs fonctions pour créer, supprimer et gérer des répertoires.

Créer un seul répertoire

Pour créer un seul répertoire, vous pouvez utiliser la fonction os.mkdir(). Cette fonction prend le chemin du répertoire que vous souhaitez créer en argument.

import os

## Create a new directory named "example_dir"
os.mkdir("example_dir")

Créer plusieurs répertoires

Si vous avez besoin de créer une structure de répertoires avec plusieurs niveaux, vous pouvez utiliser la fonction os.makedirs(). Cette fonction peut créer tous les répertoires intermédiaires nécessaires dans le chemin.

import os

## Create a directory structure with multiple levels
os.makedirs("parent_dir/child_dir/grandchild_dir")

Gérer les répertoires existants

Si vous essayez de créer un répertoire qui existe déjà, la fonction os.mkdir() lèvera une erreur OSError. Pour gérer ce cas, vous pouvez utiliser un bloc try-except :

import os

try:
    os.mkdir("example_dir")
    print("Directory created successfully.")
except OSError as e:
    if e.errno == errno.EEXIST:
        print("Directory already exists.")
    else:
        raise

Supprimer des répertoires

Pour supprimer un répertoire, vous pouvez utiliser la fonction os.rmdir(). Cette fonction ne supprime que les répertoires vides.

import os

## Delete an empty directory
os.rmdir("example_dir")

Pour supprimer des répertoires non vides, vous pouvez utiliser la fonction shutil.rmtree() du module shutil.

import os
import shutil

## Delete a directory and its contents
shutil.rmtree("parent_dir")

En maîtrisant ces techniques de création et de gestion de répertoires, vous pourrez organiser efficacement vos projets Python et gérer la structure du système de fichiers.

Créer et manipuler des fichiers

En plus de créer et de gérer des répertoires, Python offre également un large éventail de fonctions et de méthodes pour travailler avec des fichiers. Explorons les différentes façons de créer, d'écrire, de lire et de manipuler des fichiers.

Créer des fichiers

Pour créer un nouveau fichier en Python, vous pouvez utiliser la fonction intégrée open(). Cette fonction prend le chemin du fichier et le mode (par exemple, "w" pour écrire, "r" pour lire, "a" pour ajouter) en arguments.

## Create a new file named "example.txt"
file = open("example.txt", "w")
file.close()

Alternativement, vous pouvez utiliser le module pathlib, qui propose une approche plus orientée objet pour les opérations sur les fichiers et les répertoires.

from pathlib import Path

## Create a new file using pathlib
file_path = Path("example.txt")
file_path.touch()

Écrire dans des fichiers

Une fois que vous avez créé un fichier, vous pouvez y écrire des données en utilisant la méthode write().

## Write data to the file
file = open("example.txt", "w")
file.write("This is some example text.")
file.close()

Lire des fichiers

Pour lire des données depuis un fichier, vous pouvez utiliser la méthode read().

## Read data from the file
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

Ajouter des données à des fichiers

Si vous souhaitez ajouter de nouvelles données à un fichier existant, vous pouvez utiliser le mode "a" (ajouter).

## Append data to the file
file = open("example.txt", "a")
file.write("\nAdding more text to the file.")
file.close()

Gestionnaire de contexte de fichier

Pour vous assurer que les fichiers sont correctement fermés après utilisation, il est recommandé d'utiliser l'instruction with, qui agit comme un gestionnaire de contexte.

## Use the with statement to manage file operations
with open("example.txt", "w") as file:
    file.write("This text will be written to the file.")

En comprenant ces techniques de création et de manipulation de fichiers, vous pourrez travailler efficacement avec des fichiers dans vos projets Python.

Résumé

À la fin de ce tutoriel, vous aurez une bonne compréhension de la manière d'utiliser les fonctions et les modules intégrés de Python pour créer des répertoires et des fichiers. Cela vous fournira les outils nécessaires pour rationaliser vos tâches de gestion du système de fichiers et améliorer vos compétences en programmation Python.