Get folder name of the file in Python

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'

From: stackoverflow.com/q/33372054