Ateliers Python : Utiliser les chemins et répertoires
www.mon-club-elec.fr
Tous droits réservés – 2013 - 2016.
Document gratuit.
Ce support PDF d'atelier Python + Qt vous est offert.
Pour acheter d'autres supports d'ateliers Python rendez-vous ici :
http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PythonShell
Vous avez constaté une erreur ? une coquille ? N'hésitez pas à nous le signaler à cette adresse : [email protected]
Truc d'utilisation : visualiser ce document en mode diaporama dans le visionneur PDF. Navigation avec les flèches HAUT / BAS ou la souris.
En mode fenêtre, activer le panneau latéral vous facilitera la navigation dans le document. Bonne lecture !
Ateliers Python : ...– Par X. HINAULT – p. 1 / 11
Python : Utiliser les chemins et répertoires
Par X. HINAULT – 2013 - 2016 – www.mon-club-elec.frTous droits réservés
Ce que l'on va faire ici
Dans ce tutoriel, apprenez à utiliser les chemins et les répertoires
Pré-requis : un système Gnu/Linux opérationnel
Je suppose ici que vous disposez
d'un système graphique opérationnel (Gnu/Linux, Windows, Mac OsX) :
avec Python installé ainsi que l'interpréteur Python de votre choix
Lancer l'interpréteur Python
Commencer par la lancer l'interpréteur Python que vous souhaitez utiliser, soit en ligne de commande depuis une console, soit à partir du menu
graphique du système.
Par exemple, on lancera dreampie en faisant :
$ dreampie
On obtient :
Ateliers Python : ...– Par X. HINAULT – p. 2 / 11
A noter avec Dreampie la particularité qui consiste à saisir les instructions Python dans la fenêtre du bas.
Conseil d'ami : paramétrer la fenêtre de votre interpréteur en mode « toujours au dessus » (clic droit sur la barre de titre sous Gnu/Linux) pour pouvoir
facilement travailler avec ce tuto.
Module os
Le module os fournit quelques fonctions utiles pour avoir de l'information sur le sysème courant au besoin et sur les répertoires systèmes utilisés ainsi
que des fonctions utiles pour la manipulation des chemins. Le module os qui s'importe ainsi :
Ateliers Python : ...– Par X. HINAULT – p. 3 / 11
import os
Doc complète ici : https://docs.python.org/2/library/os.html
Informations générales du système
Première chose utile que fournit le module os, c'est de l'information sur le système utilisé : :
os.name
'posix'
De façon plus détaillée, la fonction uname() fournit plus de détails :
os.uname()
('Linux',
'sparkylinux',
'3.16-2-686-pae',
'#1 SMP Debian 3.16.3-2 (2014-09-20)',
'i686')
Ces informations pourront être parfois utiles pour tester en début de code le type de système sur lequel un script est utilisé.
Note : pour une information plus détaillée sur le système, il pourra être pratique d'utiliser le module platform :
import platform
platform.system()
'Linux'
platform.release()
'3.16-2-686-pae'
platform.version()
'#1 SMP Debian 3.16.3-2 (2014-09-20)'
Ateliers Python : ...– Par X. HINAULT – p. 4 / 11
Chemins système
Pour écrire un programme qui ne soit pas dépendant du nom d'utilisateur, il est préférable d'utiliser des noms de chemins « génériques ».
Le premier chemin qui est utile c'est le chemin de l'utilisateur courant qui est obtenu avec :
os.getenv('HOME')
ce qui donne :
'/home/user'
Rermarquer que ce chemin se termine sans « / » et qu'il faudra donc en rajouter un pour constituer un chemin utilisateur.
L'autre chemin qui est utile est le chemin courant, qui est obtenu avec la fonction getcwd() du module os (pour Get Current Work Directory)
os.getcwd()
'/home/user'
Dans le cas de l'exécution d'un script, cette fonction fournit au lancement le répertoire où se trouve le script exécuté :
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
# fonction principale
def main():
print ('Le chemin courant est : ' + os.getcwd() )
#--- obligatoire pour rendre code exécutable ---
if __name__ == "__main__": # cette condition est vraie si le fichier est le programme exécuté
main()# appelle la fonction principale
Ateliers Python : ...– Par X. HINAULT – p. 5 / 11
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!