2024-09-30 07:34:15 发布
网友
在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:正如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在最后一个斜杠后给出所有内容,在本例中是''。
basename
''
你可以的
更新1:如果您提供/folderA/folderB/folderC/folderD/xx.py,则此方法有效。这将xx.py作为基名。我猜这不是你想要的。所以你可以这么做-
更新2:正如lars所指出的,进行更改以适应尾随的“/”。
我的方法是:
使用^{} ,然后使用^{} :
第一个去掉所有的斜杠,第二个给你路径的最后一部分。只使用
basename
在最后一个斜杠后给出所有内容,在本例中是''
。相关问题 更多 >
编程相关推荐