C'est un module qui gère les accès au système. Il permet la manipulation de fichiers et de répertoires, de processus, et retourne des informations sur le système...
Les fichiers
- link(source,cible)
- Crée un lien de la source vers la cible.
- readlink(chemin)
- Récupère le chemin pointé par un lien.
- remove(fichier)
- Supprime le fichier.
- rename(ancien,nouveau)
- Renomme le fichier.
Les répertoires
Manipulation
- chdir(chemin)
- Change le répertoire de travail.
- chmod(chemin,mode)
- Change les droits d’accès du chemin.
- chown(chemin,propriétaire,groupe)
- Change le propriétaire et le groupe du chemin.
- getcwd()
- Affiche le répertoire de travail.
- mkdir(chemin[,mode=0777 )]
- Crée un répertoire au nom de chemin. L’argument facultatif permet de préciser les droits d’accès du répertoire (la valeur par défaut étant 0777)
- makedirs(chemin[,mode<=0777 )]
- Comme mkdir(), mais avec la possibilité de créer récursivement des sous-répertoires.
- removedirs(chemin)
- Supprime le répertoire, et ses sous-répertoires (pourvu qu’ils soient vide: sinon, s’arrête au premier sous-répertoire non vide).
Parcours
- listdir(chemin)
- Renvoie la liste des fichiers et répertoires du chemin.
- walk(racine)
- Permet de parcourir récursivement l’arborescence, à partir de la racine passée en argument.
Exemples d'utilisation
Quitter un programme
>>> sys.exit('Erreur de toto')
permet de quitter le programme, en affichant la chaîne de caractères (s'il y en a une).
Exécuter une commande système
>>> system(commande)
Exécute la commande passée en argument.
Récupérer son home
Pour récupérer son home:
>>> import os
>>> os.environ['HOME']
'/home/guyeux'
Pour y ajouter un nom de fichier:
>>> os.path.join(os.environ['HOME'], '.approachrc')
'/home/guyeux/.approachrc'
Lister les sous-répertoires d’un répertoire donné
Pour lister les sous-répertoires d'un répertoire donné:
L=[]
for root,dirs,files in os.walk('.'):
for name in dirs:
L.append(os.path.join(root,name))
Récupérer les fichiers d’un répertoire
Voici comment récupérer les fichiers d’un répertoire:
files=[f for f in os.listdir('.') if os.path.isfile(os.path.join('.',f))]
Récupérer les fichiers d’un répertoire se terminant par ogg
files=[f for f in os.listdir('.') if f.endswith('ogg')]
Récupérer des arguments du programme
Illustrons maintenant comment récupérer les arguments d’une ligne de commande. Voici le fichier toto.py:
import sys
print sys.argv[2]
Alors, dans un terminal, tapez la commande
python toto.py aa bb cc
il vous affichera
bb