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

2024-09-30 07:34:15 发布

您现在位置: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:正如lars所指出的,进行更改以适应尾随的“/”。

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

我的方法是:

>>> import os
>>> print os.path.basename(
        os.path.dirname('/folderA/folderB/folderC/folderD/test.py'))
folderD
>>> print os.path.basename(
        os.path.dirname('/folderA/folderB/folderC/folderD/'))
folderD
>>> print os.path.basename(
        os.path.dirname('/folderA/folderB/folderC/folderD'))
folderC

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

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

第一个去掉所有的斜杠,第二个给你路径的最后一部分。只使用basename在最后一个斜杠后给出所有内容,在本例中是''

相关问题 更多 >

    热门问题