438 votes

Obtenir le répertoire parent en Python

Quelqu'un pourrait-il me dire comment obtenir le répertoire parent d'un chemin en Python de manière multiplateforme ? Par exemple

C:\Program Fichiers ---> C:\

et

C:\\N ---> C:\N

Si le répertoire n'a pas de répertoire parent, il retourne le répertoire lui-même. La question peut sembler simple mais je n'ai pas réussi à la trouver sur Google.

Merci.

630voto

kender Points 18446

Essayez ça :

import os.path
print os.path.abspath(os.path.join(yourpath, os.pardir))

yourpath est le chemin pour lequel vous voulez le parent.

361voto

Wai Yip Tung Points 5013

Utilisation de os.path.dirname :

>>> os.path.dirname(r'C:\Program Files')
'C:\\'
>>> os.path.dirname('C:\\')
'C:\\'
>>>

42voto

ivo Points 1772
import os
p = os.path.abspath('..')

C:\Program Fichiers ---> C:\\

C:\ ---> C:\\

19voto

Dan Menes Points 2217
os.path.split(os.path.abspath(dir))[0]

16voto

os.path.abspath(os.path.join(somepath, '..'))

Observez :

import posixpath
import ntpath

print ntpath.abspath(ntpath.join('C:\\', '..'))
print ntpath.abspath(ntpath.join('C:\\foo', '..'))
print posixpath.abspath(posixpath.join('/', '..'))
print posixpath.abspath(posixpath.join('/home', '..'))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X