fichiers et dossiers



 une fois sorti des Class, aujourd'hui nous allons voir comment nous pouvons interagir avec les fichiers et les dossiers dans notre système d'exploitation. nous verrons également le module Wave qui va nous permettre d'analyser les données sonores et lire de la musique.

 1.Module os

1.1 Chdir () et getcwd()

Chdir () permet de changer le chemin du repertoire courant de travail tandis que getcwd() (get Current Work Directory) permet de connaitre le chemin du repertoire courant.

 

Exemple :

>>> import os

>>> os.getcwd()

'C:\\Python34'

>>> os.chdir("D:/")

>>> os.getcwd()

'D:\\'

 

1.2 remove()

Cette fonction permet de retirer ou d’effacer un fichier ou un dossier du repertoire courant

Exemple :

os.remove("nom_du fichier_a_effacer")

 

1.3 path.splitext()

Cette fonction permet de stocker dans 2 variables le nom et l’extension d’un fichier

Exemple :

name,ext=os.path.splitext("ettenig anim.gif")

>>> print(name, ext)

ettenig anim .gif

 

1.4 open()

Cette fonction permet d’ouvrir un fichier text dans python afin de pouvoir y exécuter divers opération (écriture, lecture, effacement)

 

Le syntaxe est la suivante :

 

Nom_variable=open("nom_du_fichier.extension", "  mode_de_lecture ", encodage)

Mode de lecture : il est variable

r pour lire le fichier. Pour lire dans un fichier, l’on utilise la fonction soit read() soit readlines()

syntaxe : donnees=Nom_variable.read(message_a_ajouter)

              donnees=Nom_variable.readlines(message_a_ajouter)

>le premier lie tous le contenu du fichier et le stocke dans la variable donnees comme chaine de caractère

>le second lie uniquement la prémière ligne du ficler et le stocke dans une chaine de caractère

Si donc vous voulez classer ces éléments dans un tableau, vous pouvez utiliser la fonction split() comme vu en cours

 

w pour effacer tout le contenu du fichier et y inserer de nouveau text

a pour ajouter de nouvelle informations sans rien effacer dans le fichier. La fonction permettant d’ecrire dans un fichier est write()

pour les mode a et w, si le fichier n’existe pas python va automatiquement le créer. Tandis que avec le mode r si le fichier n’existent pas, python vous renvoi une terrible erreur

 

NB : toute les données qui sont entrer dans un fichier doivent être impérativement être convertit en chaine de caractère str()

 Exemple :

Nom_variable=open("nom_du_fichier.txt","a")

Nom_variable.write(‘bonjour tout le monde’)

Nom_variable.write(‘je suis un héros des elements’)

Nom_variable.close()

 

A la fin de nos opérations sur le fichier, veuillez toujours à bien refermez le fichier avec la fonction close() de peur que tous ce que vous avez modifier ne soit pas enrgistrer.

 

Pour donc eviter d’oublier de fermer le fichier, python nous propose une syntaxe qui permet à la fois d’ouvrir et de fermer le fichier automatiquement :

Syntaxe : with open(nom_du_fichier,mode_de_lecture,encodage) as Nom_variable :

 

Exmple : with open("nom_du_fichier.txt","r") as Nom_variable :

               Donnees=Nom_variable.read()

 

1.5 makedirs()

Cette fonction permet de créer plusieurs répertoires ou dossiers qui n’existent pas. Si ces derniers existent, cela donne lieu à une erreur

Exemple :

os.makedirs(‘D:/Cool_anime/articles/’)

ceci aura pour effet de créer les dossiers cool anime et articles si ces derniers n’existent pas. Il est donc préférable d’utiliser la methode try except pour cette fonction

1.6 mkdir()

Cette fonction permet de créer un répertoire ou dossier qui n’existe pas.

Exemple :

os.mkdir(D:/Cool_video/’)

1.7 removedirs()

Cette fonction permet de supprimer plusieurs dossiers dans le chemin donné en paramètre à la fonction

Exemple :

os.removedirs(‘D:/Cool_anime/articles/’)

1.8 rmdir()

Cette fonction permet de supprimer un dossier dans le chemin donné en paramètre à la fonction

Exemple :

os.rmdir(‘D:/Cool_video/’)

1.9 rename()

Cette function permet de renommer un fichier

Exemple :

os.rename('D:/screen.eps','D:/pedro.eps')

1.10 system()

Cette function permet de lancer l’exécution d’un programme ou d’un fichier

Exemple :

os.system(‘start D:/pedro.eps’)

pour plus de méthodes du module os, utiliser la commande dir(os)

 

2. le module glob()

Ce module permet d’importer les fichiers d’une meme extension contenu dans un meme dossier

Syntaxe

Import glob

for file in glob.glob(chemin/*.ext) :

            instruction

 

3. le module pickle()

Le module pickle() permet de sauvegarder dans un fichier, les variables sans modifier leur type().

Dump()

C’est la methode qui permet de stocker une variable dans un fichier

Exmeple :

tableName= ["deneb","altaire","vega","Nale","Maud"]

with open(‘file’,'wb') as fiche:

         pickle.dump(tableName, fiche) #on conserve tableName dans fiche

 

load()

C’est la methode qui permet de restituer une variable à partir d’un fichier

Exemple :

tableName= ["deneb","altaire","vega","Nale","Maud"]

with open(‘file’,'rb') as fiche:

        value=pickle.load(variable)  #on restitue tableName et le stacke dans value

Remarque : pour ouvrir un fichier dans lequel l’on compte stocker des variables, l’on utilise le mode ‘wb’ ou ecriture binaire ou ‘rb’ lecture binaire

4. le module shutil()

Le module shutil en Python offre des opérations de haut niveau sur les fichiers et les collections de fichiers. Voici quelques-unes de ses fonctions principales, ainsi que des exemples pour chacune d’elles :

shutil.copyfile(src, dst, *, follow_symlinks=True) :

Copie le contenu (sans métadonnées) du fichier src vers un fichier nommé dst.

src et dst sont des objets de type chemin ou des noms de fichiers sous forme de chaînes. Si dst existe déjà, il sera remplacé.

Exemple :

import shutil

src_file = "source.txt"

dst_file = "destination.txt"

shutil.copyfile(src_file, dst_file)

 

shutil.copytree(src, dst, symlinks=False, ignore=None) :

Copie un répertoire et son contenu récursivement.

src est le répertoire source, et dst est le répertoire de destination.

Exemple :

import shutil

src_dir = "source_directory"

dst_dir = "destination_directory"

shutil.copytree(src_dir, dst_dir)

 

shutil.rmtree(path, ignore_errors=False, onerror=None) :

Supprime un répertoire et son contenu récursivement. path est le chemin du répertoire à supprimer.

Exemple :

import shutil

dir_to_remove = "directory_to_remove"

shutil.rmtree(dir_to_remove)

shutil.move(src, dst) :

Déplace un fichier ou un répertoire. src est le chemin du fichier/répertoire source, et dst est le chemin de destination. Exemple :

import shutil

src_path = "source_file.txt"

dst_path = "new_location/"

shutil.move(src_path, dst_path)

 

shutil.copy(src, dst, *, follow_symlinks=True) :

Copie le fichier src vers le chemin dst. Si dst est un répertoire, le fichier sera copié dans ce répertoire avec le même nom.

Exemple :

import shutil

src_file = "source.txt"

dst_file = "destination.txt"

shutil.copy(src_file, dst_file)

 

shutil.copy2(src, dst, *, follow_symlinks=True) :

Copie le fichier src vers le chemin dst, en préservant les métadonnées (horodatage, permissions, etc.).

Exemple :

import shutil

src_file = "source.txt"

dst_file = "destination.txt"

shutil.copy2(src_file, dst_file)

 

shutil.make_archive(base_name, format, root_dir=None, base_dir=None) :

Crée une archive compressée (zip, tar, etc.) à partir d’un répertoire. base_name est le nom de l’archive, format est le format (par exemple, “zip” ou “tar”).

Exemple :

import shutil

shutil.make_archive("my_archive", "zip", root_dir="my_directory")


5. le module wave()

La bibliothèque wave en Python fournit une interface pratique pour lire et écrire des fichiers audios au format Waveform Audio (WAVE ou WAV). Voici un aperçu des principales classes et fonctions de la bibliothèque wave :

wave.open(file, mode=None) :

Rôle : Cette fonction permet d’ouvrir et de configurer un fichier audio au format WAV.

Paramètres :

file : Nom du fichier (chaîne de caractères) ou objet de type fichier.

mode : Mode d’ouverture (par défaut, None). Les modes possibles sont 'rb' (lecture seule) et 'wb' (écriture seule). Si vous passez un objet de type fichier, l’objet wave ne le fermera pas automatiquement lors de l’appel de sa méthode

close().

Exemple :

import wave

# Ouvrir un fichier WAV en lecture

with wave.open("mon_fichier.wav", "rb") as fichier_wav:

print(f"Nombre de canaux : {fichier_wav.getnchannels()}")

print(f"Fréquence d'échantillonnage : {fichier_wav.getframerate()} Hz")

 

wave.Wave_read :

Rôle : Cette classe permet de lire un fichier WAV.

Méthodes :

close() : Ferme le flux audio.

getnchannels() : Renvoie le nombre de canaux audio (1 pour mono, 2 pour stéréo).

getsampwidth() : Renvoie la largeur d’échantillon en octets.

getframerate() : Renvoie la fréquence d’échantillonnage.

getnframes() : Renvoie le nombre total de trames audio.

getcomptype() : Renvoie le type de compression (seulement ‘NONE’ est pris en charge).

getcompname() : Renvoie une version lisible du type de compression.

getparams() : Renvoie un namedtuple avec les informations sur le fichier audio.

readframes(n) : Lit et renvoie au plus n trames audio sous forme d’objet bytes.

rewind() : Rembobine le pointeur de fichier au début du flux audio.

tell() : Renvoie la position actuelle du pointeur de fichier.

 

Exemple :

with wave.open("mon_fichier.wav", "rb") as fichier_wav:

print(f"Nombre de canaux : {fichier_wav.getnchannels()}")

print(f"Fréquence d'échantillonnage : {fichier_wav.getframerate()} Hz")

3. wave.Wave_write :

Rôle : Cette classe permet d’écrire un fichier WAV.

Méthodes :

close() : Ferme le flux audio et met à jour l’en-tête du fichier.

writeframes(data) : Écrit les données audio spécifiées dans le fichier.

Exemple :

with wave.open("nouveau_fichier.wav", "wb") as fichier_wav:

fichier_wav.setnchannels(2)

fichier_wav.setsampwidth(2)

fichier_wav.setframerate(44100)

fichier_wav.writeframes(b"...")

 

La bibliothèque wave est utile pour manipuler des fichiers audios au format WAV


< fonctions et class

tkinter : introduction >

Commentaires

Posts les plus consultés de ce blog

Galerie de Réalisations Python 🖼️

une Calculatrice simple avec python🧮

Bienvenue sur notre site dédié à la programmation avec Python ! 🐍