Question
Asked By – Vasily
In Python what command should I use to get the name of the folder which contains the file I’m working with?
"C:\folder1\folder2\filename.xml"
Here "folder2"
is what I want to get.
The only thing I’ve come up with is to use os.path.split
twice:
folderName = os.path.split(os.path.split("C:\folder1\folder2\filename.xml")[0])[1]
Is there any better way to do it?
Now we will see solution for issue: Get folder name of the file in Python
Answer
You can use dirname
:
os.path.dirname(path)
Return the directory name of pathname path. This is the first element
of the pair returned by passing path to the function split().
And given the full path, then you can split normally to get the last portion of the path. For example, by using basename
:
os.path.basename(path)
Return the base name of pathname path. This is the second element of
the pair returned by passing path to the function split(). Note that
the result of this function is different from the Unix basename
program; where basename for ‘/foo/bar/’ returns ‘bar’, the basename()
function returns an empty string (”).
All together:
>>> import os
>>> path=os.path.dirname("C:/folder1/folder2/filename.xml")
>>> path
'C:/folder1/folder2'
>>> os.path.basename(path)
'folder2'
This question is answered By – fedorqui
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0