2024-09-30 11:31:19 发布
网友
在Python中,假设我有这样一条路径:
/folderA/folderB/folderC/folderD/
我怎样才能只得到folderD部分
folderD
你可以
>>> 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给出最后一个斜杠之后的所有内容,在本例中为''
basename
''
你可以
更新1:如果您给它/folderA/folderB/folderC/folderD/xx.py,这种方法会起作用。这将以xx.py作为基本名称。我想这不是你想要的。所以你可以这样做-
更新2:正如拉尔斯指出的那样,进行更改以适应尾随“/”
使用python 3,您可以使用^{} 模块(例如^{} ):
如果需要文件所在的最后一个文件夹名称:
使用^{} ,然后使用^{} :
第一个会去掉任何后面的斜线,第二个会给出路径的最后一部分。仅使用
basename
给出最后一个斜杠之后的所有内容,在本例中为''
相关问题 更多 >
编程相关推荐