Python: supprimen N niveau à une string qui est un chemin

Python: supprimen N niveau à une string qui est un chemin - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 02-05-2013 à 00:50:35    

J'ai ceci:
 
/path/to/some/file
/path/to/some/otherfile
/path/to/some/thirdfile
 
Je veux supprimer les N premier niveaux du path.
Par exemple, avec 2 niveaux:
/path/to/some/file -> some/file  
 
avec 3 niveaux
/path/to/some/file -> file
 
Et je suis fatigué, je trouve pas une solution un minimum correcte  :??:


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 02-05-2013 à 00:50:35   

Reply

Marsh Posté le 02-05-2013 à 19:47:28    

les trucs os.path font ça :
http://docs.python.org/2/library/os.path.html


Message édité par Mjules le 02-05-2013 à 19:49:26

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 10-05-2013 à 14:10:50    

Je ne crois pas qu'il y ait une méthode exploitable pour faire  ce qu'il veut dans ce module.
 
La soluce que je vois :

Code :
  1. def split_n_path(path, n):
  2.  return path.split(os.path.sep, n+1)[-1]


 

Citation :

>>> split_n_path("/path/to/some/file", 2)
'some/file'
>>> split_n_path("/path/to/some/file", 3)
'file'


 
En rajoutant un contrôle n<= path.count(os.path.sep) peut-être, mais ça c'est à adapter en fonction de ton traitement.


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed