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?
解决方案
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’