Sommaire

Projet #2 : un navigateur de fichiers en console

Pour clore l’étude de la bibliothèque, voici un programme légèrement plus complexe, à savoir un navigateur de fichiers (Chapitre_4/urwid_3.py) :

1 #!/usr/bin/env python3  
2 import urwid  
3 import os

Comme dans l’exemple précédent, toute la logique de création du navigateur de fichiers est encapsulée dans une classe appelée NavigateurFichiers. À sa création, cette classe initialise un certain nombre de variables et procède à un listing des fichiers du répertoire courant :

6 class NavigateurFichiers(urwid.WidgetPlaceholder):  
7     def __init__(self, chemin):  
8         self.chemin_courant = chemin  
9         self.chemin_prec = None  
10         self.liste_fichiers = sorted(os.listdir(self.chemin_courant))  
11         if self.chemin_courant != ’/’:  
12             self.liste_fichiers.insert(0, ’..’)  
13         super(NavigateurFichiers, self).__init__(self.creer_contenu())

La variable liste_fichiers est stockée comme membre de l’instance afin d’être réutilisée plus tard. Le code prend aussi soin d’ajouter ...