Gestion de fichiers & répertoires (2024)

Les répertoires sont une partie cruciale de la gestion des fichiers et jouent un rôle crucial dans le développement de programmes complets en Python.

Module OS

Le module os en Python fournit un moyen d'utiliser des fonctionnalités dépendantes du système d'exploitation. Il aide à effectuer diverses opérations telles que la création de répertoires, la suppression de files, le changement du répertoire de travail actuel, etc.

Pour utiliser le module OS, nous devons d'abord l'importer en utilisant l'instruction import os. Voici deux exemples de comment utiliser le module OS :

Exemple 1 : Créer un Nouveau Répertoire

Pour créer un répertoire à l'aide du module OS, nous pouvons utiliser la fonction os.mkdir(). Voici un exemple :

import os# specify the path where you want to create the directorypath = "/home/user/newdir"# create the directorytry: os.mkdir(path) print("Directory created successfully!")except OSError as error: print(error)

Exemple 2 : Obtenir le Répertoire de Travail Actuel

Pour obtenir le répertoire de travail actuel en utilisant le module os en Python, nous pouvons utiliser la fonction os.getcwd(). Voici un exemple :

import os# get the current working directorycwd = os.getcwd()# print the current working directoryprint("Current working directory:", cwd)

En utilisant le module os, nous pouvons effectuer diverses opérations liées au système d'exploitation, y compris des opérations sur les fichiers, les opérations de directory et la gestion des processus.

Pour obtenir une liste des fichiers dans un répertoire, vous pouvez utiliser la fonction os.listdir(). Cette fonction retourne une liste de tous les fichiers et répertoires dans le répertoire spécifié.

import os# get list of files in the current directoryfiles = os.listdir()# print the list of filesprint(files)### Output# ['file1.txt', 'file2.jpg', 'directory1', 'directory2']
import os# get list of files in a directorydirectory = "/path/to/directory"files = os.listdir(directory)# print the list of filesprint(files)### Output# ['file1.pdf', 'file2.docx', 'file3.txt']

En résumé, en utilisant os.listdir(), vous pouvez facilement obtenir une liste des fichiers dans un répertoire. Cela peut être utile pour diverses tâches telles que la manipulation de fichiers, l'analyse de données, et plus encore.

Comment obtenir le répertoire actuel

Pour obtenir le répertoire actuel, vous pouvez utiliser le module os. La méthode os.getcwd() renvoie le répertoire de travail actuel sous forme de chaîne de caractères.

import os### Get current directorycurrent_directory = os.getcwd()### Print current directoryprint(current_directory)

Vous pouvez également utiliser le module pathlib pour obtenir le répertoire actuel :

from pathlib import Path### Get current directorycurrent_directory = Path.cwd()### Print current directoryprint(current_directory)

Pour changer le répertoire courant, vous pouvez utiliser la méthode os.chdir():

import os### Change current directoryos.chdir('/path/to/new/directory')### Get current directorycurrent_directory = os.getcwd()### Print current directoryprint(current_directory)

N'oubliez pas d'import le module requis pour changer de répertoires avant d'essayer de modifier le répertoire de travail actuel.

Importer depuis un Autre Répertoire

Pour importer des modules depuis un autre répertoire, vous pouvez utiliser le code suivant :

import syssys.path.insert(0, '../path/to/parent/directory')from module_name import function_name

Dans l'exemple ci-dessus, nous insérons d'abord le path vers le répertoire parent dans le path système en utilisant sys.path.insert. Ensuite, nous pouvons import le module ou la fonction requis depuis le directory spécifié en utilisant le mot-clé from.

Une autre manière d'import des modules depuis un répertoire parent consiste à utiliser le fichier __init__.py. Ce fichier est un fichier spécial qui est exécuté lorsque le répertoire est importé comme un module. Dans ce fichier, vous pouvez ajouter le code suivant :

import osimport syssys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../")from module_name import function_name

Dans cette approche, nous commençons par importer le module os pour accéder aux informations du chemin de fichier et du répertoire. Ensuite, nous ajoutons le répertoire parent au chemin système en utilisant sys.path.append. Enfin, nous pouvons importer le module ou la fonction requis depuis le répertoire parent en utilisant le mot-clé from.

En utilisant ces méthodes, vous pouvez facilement importer des modules depuis un répertoire parent et rationaliser l'organisation de votre projet.

Vérifier si un Répertoire Existe

Pour vérifier si un répertoire existe, vous pouvez utiliser la fonction os.path.exists(). Si le répertoire existe, elle retournera True, sinon elle retournera False.

import osif os.path.exists('/my/directory'): print('Directory exists')else: print('Directory does not exist')

Si vous souhaitez créer le répertoire s'il n'existe pas, vous pouvez utiliser la fonction os.makedirs(). Cela créera le répertoire et tous les répertoires parents nécessaires.

import osif not os.path.exists('/my/directory'): os.makedirs('/my/directory')### Now you can use the directory for your operations

Assurez-vous de remplacer /my/directory par le chemin réel du répertoire que vous souhaitez vérifier ou créer.

Création de répertoire en Python

Pour créer un répertoire en Python, vous pouvez utiliser le module os. Vous pouvez également vérifier si le répertoire existe déjà ou non avant de le créer en utilisant la méthode os.path.exists(). La méthode os.makedirs() crée un répertoire et tous ses répertoires parents s'ils n'existent pas.

import os# Directory Pathpath = "/example/directory"# Check if directory already existsif not os.path.exists(path): # Create directory os.makedirs(path) print("Directory created successfully")else: print("Directory already exists")

La méthode os.mkdir() crée un répertoire seulement s'il n'existe pas déjà. Elle génère une FileExistsError si le répertoire existe déjà.

import os# Directory Pathpath = "/example/directory"try: # Create directory os.mkdir(path) print("Directory created successfully")except FileExistsError: print("Directory already exists")

En utilisant l'une ou l'autre de ces méthodes, vous pouvez facilement créer un répertoire en Python et vérifier s'il existe déjà.

Copier un fichier vers un autre répertoire

Copier un fichier d'un répertoire à un autre en Python est une tâche courante. Il existe plusieurs façons d'y parvenir, mais la méthode la plus simple est d'utiliser le module shutil, qui fournit une fonction copy pour copier des fichiers.

Utiliser shutil.copy() pour copier un fichier d'un répertoire à un autre

La fonction copy dans le module shutil prend deux arguments - le fichier source et le répertoire de destination.

import shutilsrc_file = '/home/user/filename.txt'dst_dir = '/home/user/new_directory'shutil.copy(src_file, dst_dir)

Cela copiera le fichier filename.txt du répertoire /home/user vers le répertoire /home/user/new_directory.

Utiliser os.rename() pour déplacer un fichier d'un répertoire à un autre en Python

Une autre méthode pour copier un fichier d'un répertoire à un autre en Python est d'utiliser la fonction os.rename().

import ossrc_file = '/home/user/filename.txt'dst_dir = '/home/user/new_directory'new_path = os.path.join(dst_dir, os.path.basename(src_file))os.rename(src_file, new_path)

Ceci déplacera le fichier filename.txt du répertoire /home/user au répertoire /home/user/new_directory.

En conclusion, les deux méthodes ci-dessus peuvent être utilisées pour copier un fichier d'un répertoire à un autre en Python facilement.

Pour supprimer un répertoire en Python, nous pouvons utiliser le module os qui nous fournit les méthodes nécessaires pour supprimer les fichiers et les répertoires. Une manière de supprimer tous les fichiers dans un répertoire est de les parcourir tous et de les supprimer un par un. Une autre manière est de simplement supprimer le répertoire en utilisant la méthode os.rmdir().

Supprimer tous les Fichiers dans un Répertoire

Nous pouvons supprimer tous les fichiers à l'intérieur d'un répertoire en parcourant chaque fichier et en le supprimant à l'aide de la méthode os.remove(). Voici un exemple :

import osdir_name = '/path/to/directory'# iterate over each file and delete itfor file_name in os.listdir(dir_name): file_path = os.path.join(dir_name, file_name) if os.path.isfile(file_path): os.remove(file_path)

Supprimer le répertoire

Nous pouvons supprimer un répertoire en utilisant la méthode os.rmdir(). Cette méthode fonctionne uniquement si le répertoire est vide - s'il y a des fichiers dans le répertoire, la méthode générera une erreur. Pour supprimer un répertoire non vide, nous pouvons utiliser la méthode rmtree() du module shutil. Voici un exemple :

import osimport shutildir_name = '/path/to/directory'# remove the directorytry: os.rmdir(dir_name)except OSError: shutil.rmtree(dir_name)

Avec les exemples de code ci-dessus, vous pouvez maintenant facilement supprimer tous les fichiers dans un répertoire et supprimer le répertoire lui-même en utilisant Python.

Lire tous les fichiers dans un répertoire

Si vous souhaitez lire tous les files dans un répertoire en utilisant Python, vous pouvez utiliser le module os. Voici deux exemples de comment accomplir cette tâche :

import os### Method 1files = os.listdir('/path/to/directory')for filename in files: with open(filename, 'r') as f: ##### do something with the file pass### Method 2for dirpath, dirnames, filenames in os.walk('/path/to/directory'): for filename in filenames: with open(os.path.join(dirpath, filename), 'r') as f: ##### do something with the file pass

Dans la Méthode 1, la fonction os.listdir() retourne une liste de tous les filenames dans le répertoire. Vous pouvez ensuite utiliser une boucle for pour itérer à travers la liste et ouvrir chaque fichier.

Dans la Méthode 2, la fonction os.walk() itère à travers l'arbre du répertoire, retournant un 3-tuple de (dirpath, dirnames, filenames) pour chaque répertoire qu'elle trouve. Vous pouvez alors utiliser des boucles for imbriquées pour itérer à travers tous les filenames et ouvrir chaque fichier.

Dans les deux cas, vous devrez peut-être ajuster le chemin /path/to/directory pour correspondre à l'emplacement réel du répertoire que vous souhaitez lire.

Pour importer un module depuis un répertoire parent en Python, vous devez ajouter le répertoire parent à la liste sys.path de votre système. Cela peut être fait en utilisant la fonction sys.path.append().

  1. Si votre répertoire de travail est un répertoire enfant du répertoire parent, vous pouvez ajouter le répertoire parent au chemin comme ceci :
import syssys.path.append('..')# from parent_module import parent_function
  1. Si votre répertoire de travail n'est pas un sous-répertoire du répertoire parent, vous pouvez ajouter le chemin complet du répertoire parent au chemin comme ceci :
import syssys.path.append('/path/to/parent_directory')# from parent_module import parent_function

Assurez-vous de remplacer parent_module et parent_function par le nom de votre module et fonction parents.

En ajoutant le répertoire parent à la liste sys.path de votre système, vous pouvez importer des modules depuis le répertoire parent dans votre code Python.

Gestion de fichiers & répertoires (2024)

References

Top Articles
Latest Posts
Article information

Author: Annamae Dooley

Last Updated:

Views: 5599

Rating: 4.4 / 5 (65 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Annamae Dooley

Birthday: 2001-07-26

Address: 9687 Tambra Meadow, Bradleyhaven, TN 53219

Phone: +9316045904039

Job: Future Coordinator

Hobby: Archery, Couponing, Poi, Kite flying, Knitting, Rappelling, Baseball

Introduction: My name is Annamae Dooley, I am a witty, quaint, lovely, clever, rich, sparkling, powerful person who loves writing and wants to share my knowledge and understanding with you.