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
Commentaires
Enregistrer un commentaire