如何在Python中仅获取路径的最后一部分?

2024-09-30 11:31:19 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,假设我有这样一条路径:

/folderA/folderB/folderC/folderD/

我怎样才能只得到folderD部分


Tags: 路径folderbfolderafolderdfolderc
3条回答

你可以

>>> import os
>>> os.path.basename('/folderA/folderB/folderC/folderD')

更新1:如果您给它/folderA/folderB/folderC/folderD/xx.py,这种方法会起作用。这将以xx.py作为基本名称。我想这不是你想要的。所以你可以这样做-

>>> import os
>>> path = "/folderA/folderB/folderC/folderD"
>>> if os.path.isdir(path):
        dirname = os.path.basename(path)

更新2:正如拉尔斯指出的那样,进行更改以适应尾随“/”

>>> from os.path import normpath, basename
>>> basename(normpath('/folderA/folderB/folderC/folderD/'))
'folderD'

使用python 3,您可以使用^{}模块(例如^{}):

>>> import pathlib

>>> path = pathlib.PurePath('/folderA/folderB/folderC/folderD/')
>>> path.name
'folderD'

如果需要文件所在的最后一个文件夹名称:

>>> path = pathlib.PurePath('/folderA/folderB/folderC/folderD/file.py')
>>> path.parent.name
'folderD'

使用^{},然后使用^{}

>>> os.path.basename(os.path.normpath('/folderA/folderB/folderC/folderD/'))
'folderD'

第一个会去掉任何后面的斜线,第二个会给出路径的最后一部分。仅使用basename给出最后一个斜杠之后的所有内容,在本例中为''

相关问题 更多 >

    热门问题