Méthodes de Fichier/Dossier du Module OS Python

Bonjour, aspirants programmeurs Python ! Aujourd'hui, nous allons plonger dans le monde passionnant de la manipulation des fichiers et des dossiers en utilisant le module OS de Python. En tant que votre enseignant de informatique amical et de voisinage, je vais vous guider à travers ce voyage étape par étape, vous assurant que vous comprenez chaque concept au fur et à mesure. Alors, prenez votre boisson préférée, mettez-vous à l'aise, et commençons notre aventure !

Python - OS File/Directory Methods

Introduction au Module OS

Avant de plonger dans le détail des opérations sur les fichiers et les dossiers, prenons un moment pour comprendre ce que représente le module OS.

Le module OS en Python fournit un moyen d'interagir avec le système d'exploitation. C'est comme un pont magique entre votre code Python et le système sous-jacent, vous permettant d'effectuer diverses opérations sur les fichiers et les dossiers.

Pour utiliser le module OS, nous devons d'abord l'importer :

import os

Maintenant que nous avons notre module OS de confiance importé, explorons certains de ses méthodes les plus utiles pour travailler avec des fichiers et des dossiers.

Opérations sur les Fichiers

Vérification de l'Existence d'un Fichier

L'une des premières choses que vous pourriez vouloir faire est de vérifier si un fichier existe. Voici comment vous pouvez le faire :

import os

file_path = "C:/Users/VotreNom/Documents/my_file.txt"
if os.path.exists(file_path):
print("Le fichier existe !")
else:
print("Le fichier n'existe pas.")

Dans cet exemple, nous utilisons os.path.exists() pour vérifier si le fichier au chemin spécifié existe. S'il existe, nous affichons un message heureux ; sinon, nous le faitons savoir à l'utilisateur.

Création d'un Nouveau Fichier

Maintenant, créons un nouveau fichier :

import os

file_path = "C:/Users/VotreNom/Documents/new_file.txt"
with open(file_path, 'w') as file:
file.write("Bonjour, Monde !")

print(f"Un nouveau fichier a été créé à {file_path}")

Ici, nous utilisons la fonction open() avec le mode 'w' (mode écriture) pour créer un nouveau fichier. Ensuite, nous écrivons "Bonjour, Monde !" dans le fichier et le fermons automatiquement en utilisant l'instruction with.

Renommage d'un Fichier

Parfois, vous pourriez vouloir renommer un fichier. Voici comment vous pouvez le faire :

import os

old_name = "C:/Users/VotreNom/Documents/old_file.txt"
new_name = "C:/Users/VotreNom/Documents/new_file.txt"

os.rename(old_name, new_name)
print(f"Fichier renommé de {old_name} à {new_name}")

La fonction os.rename() prend deux arguments : le nom actuel du fichier et le nouveau nom que vous souhaitez lui donner.

Suppression d'un Fichier

Soyez prudent avec celui-ci ! La suppression de fichiers est une opération puissante, donc toujours vérifiez avant d'exécuter ce code :

import os

file_to_delete = "C:/Users/VotreNom/Documents/unwanted_file.txt"

if os.path.exists(file_to_delete):
os.remove(file_to_delete)
print(f"Le fichier {file_to_delete} a été supprimé.")
else:
print("Le fichier n'existe pas.")

Nous vérifions d'abord si le fichier existe en utilisant os.path.exists(), et s'il existe, nous utilisons os.remove() pour le supprimer.

Opérations sur les Dossiers

Maintenant que nous avons couvert les opérations sur les fichiers, passons aux opérations sur les dossiers.

Création d'un Nouveau Dossier

Créer un nouveau dossier est aussi simple que :

import os

new_dir = "C:/Users/VotreNom/Documents/NewFolder"

if not os.path.exists(new_dir):
os.mkdir(new_dir)
print(f"Dossier {new_dir} créé avec succès !")
else:
print("Le dossier existe déjà.")

Nous utilisons os.mkdir() pour créer un nouveau dossier. Mais d'abord, nous vérifions s'il existe déjà pour éviter toute erreur.

Liste des Contenus du Dossier

Vous voulez voir ce qu'il y a dans un dossier ? Voici comment :

import os

dir_path = "C:/Users/VotreNom/Documents"

contents = os.listdir(dir_path)
print("Contenu du dossier :")
for item in contents:
print(item)

os.listdir() renvoie une liste de tous les fichiers et sous-dossiers du dossier spécifié.

Changement du Dossier de Travail Actuel

Vous pouvez changer votre dossier de travail actuel comme ceci :

import os

new_working_dir = "C:/Users/VotreNom/Desktop"

os.chdir(new_working_dir)
print(f"Dossier de travail actuel changé en : {os.getcwd()}")

os.chdir() change le dossier de travail actuel, et os.getcwd() renvoie le dossier de travail actuel.

Suppression d'un Dossier

Enfin, voyons comment supprimer un dossier :

import os

dir_to_remove = "C:/Users/VotreNom/Documents/OldFolder"

if os.path.exists(dir_to_remove):
os.rmdir(dir_to_remove)
print(f"Dossier {dir_to_remove} supprimé.")
else:
print("Le dossier n'existe pas.")

os.rmdir() supprime le dossier spécifié, mais seulement s'il est vide. Si vous avez besoin de supprimer un dossier et tous ses contenus, vous devrez utiliser le module shutil, que nous couvrirons dans une leçon future.

Résumé des Méthodes de Fichier/Dossier du Module OS

Voici un tableau pratique résumant les méthodes que nous avons couvertes :

Méthode Description
os.path.exists() Vérifie si un fichier ou un dossier existe
os.rename() Renomme un fichier ou un dossier
os.remove() Supprime un fichier
os.mkdir() Crée un nouveau dossier
os.listdir() Liste le contenu d'un dossier
os.chdir() Change le dossier de travail actuel
os.getcwd() Obtient le dossier de travail actuel
os.rmdir() Supprime un dossier vide

Conclusion

Félicitations ! Vous venez de faire vos premiers pas dans le monde de la manipulation des fichiers et des dossiers avec le module OS de Python. N'oubliez pas, avec un grand pouvoir vient une grande responsabilité – soyez toujours prudent lors de la modification des fichiers et des dossiers, surtout lors de leur suppression.

Au fur et à mesure de votre parcours Python, vous trouverez ces opérations de fichiers et de dossiers incroyablement utiles pour des tâches telles que le traitement de données, l'organisation de fichiers, et même la construction de vos propres systèmes de gestion de fichiers.

Continuez à pratiquer, restez curieux, et bon codage !

Credits: Image by storyset