2022年 11月 6日

python获取当前文件夹名称_在Python中获取文件的文件夹名称

1586010002-jmsa.png

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’