Créer une classe pour manipuler des chemins - Docstring

Dans cet exercice, on continue avec les classes : l'objectif va être de créer une classe Path qui va simplifier la manipulation de chemins vers des dossiers ou fichiers sur notre disque dur.

Pour les besoins de cet exercice nous allons créer 4 méthodes et propriétés et nous considérerons que nous sommes sur un système unix (donc avec des slashes dans le 'bon' sens : /) :

  • Une propriété ext pour récupérer l'extension du fichier.

  • Une propriété basename pour récupérer le nom du fichier uniquement (donc sans le dossier parent et sans l'extension).

  • Une méthode dirname qui va récupérer le dossier parent du chemin actuel. Cette méthode devra retourner un objet Path pour que l'on puisse appliquer de nouveau la méthode dirname sur le résultat précédent.

  • La méthode __str__ qui devra retourner le chemin sous forme de chaîne de caractères. Ainsi, quand nous ferons un print de notre chemin, cela nous permettra de voir le chemin directement et non l'instance (ex: "/Users/thibh/Documents/test.txt" au lieu de <__main__.Path object>).

Notre script devra donc exécuter et retourner les lignes de code suivantes :

>>> s = Path("/Users/thibh/Documents/test.txt")
>>> print(s.dirname().dirname())
/Users/thibh
>>> print(s.basename)
test
>>> print(s.ext)
.txt

Vous devez réaliser cet exercice sans utiliser le module os !

class Path():
	pass
	
s = Path("/Users/thibh/Documents/test.txt")
print(s.dirname().dirname())
print(s.basename)
print(s.ext)
Un instant...

Test de la propriété ext

La propriété ext doit retourner l'extension du fichier, dans ce cas-ci la chaîne de caractères "txt".

Test de la propriété basename

La propriété basename doit retourner l'extension du fichier, dans ce cas-ci la chaîne de caractères "test".

Test de la méthode dirname

La méthode dirname doit retourner le dossier parent.

Bravo, tu as réussi cet exercice de code 🥳

Succès

Soumettre ma solution

Vous avez trouvé une solution alternative pour cet exercice ? Proposez votre solution à la communauté 👇

Seules les propositions différentes de la solution proposée par Docstring peuvent être envoyées.

Ma solution :

Mes notes

Sauvegardé

Passages surlignés

Besoin d'aide ?

Essaie d'être le plus exhaustif possible en donnant suffisamment de détails pour qu'on puisse te répondre du premier coup 😉

Tu souhaites nous remonter un bug ? Utilise-plutôt ce formulaire.

Cette fonctionnalité est réservée aux membres de la formule accompagnement de Docstring.

Aucun résultat.

Un problème sur le site ?

Aide-nous à améliorer Docstring en nous signalant un problème que tu as rencontré.

Que ce soit un bug sur une fonctionnalité ou une erreur dans une formation, on va pouvoir le corriger rapidement 😉

Page concernée

M'avertir par e-mail

Je veux être averti par e-mail lorsque ce bug est corrigé.