我很新于Python编程,想要切分文件夹路径。例如,如果我的原始路径是:
C:/Users/arul/Desktop/jobs/project_folder/shots/shot_folder/elements/MexicoCity-Part1/
我希望能够获取这样的路径:
C:/Users/arul/Desktop/jobs/project_folder/shots/shot_folder/
在Python中有哪些方法可以实现这个功能?
我很新于Python编程,想要切分文件夹路径。例如,如果我的原始路径是:
C:/Users/arul/Desktop/jobs/project_folder/shots/shot_folder/elements/MexicoCity-Part1/
C:/Users/arul/Desktop/jobs/project_folder/shots/shot_folder/
在Python中有哪些方法可以实现这个功能?
pathlib
模块:from pathlib import Path
pth = Path('C:/Users/arul/Desktop/jobs/project_folder/shots/shot_folder/')
print(pth)
print(pth.parent)
print(pth.parent.parent) # C:/Users/arul/Desktop/jobs/project_folder
parts
来解决您的问题,如下所示:print('/'.join(pth.parts[:-2]))
os.path
构建自己的parts
函数:from os import path
pth = 'C:/Users/arul/Desktop/jobs/project_folder/shots/shot_folder/'
def parts(pth):
ret = []
head, tail = path.split(pth)
if tail != '':
ret.append(tail)
while head != '':
head, tail = path.split(head)
ret.append(tail)
return ret[::-1]
ret = path.join(*parts(pth)[:-2])
print(ret) # C:/Users/arul/Desktop/jobs/project_folder
元素
拆分,请使用此代码。>>> path = 'C:/Users/arul/Desktop/jobs/project_folder/shots/shot_folder/elements/MexicoCity-Part1/'
>>> path.split('elements')[0]
'C:/Users/arul/Desktop/jobs/project_folder/shots/shot_folder/'
elements
,它将失败。 在这种情况下,您可以执行以下操作:>>> '/'.join(path.split('/')[:-3]) + '/'
'C:/Users/arul/Desktop/jobs/project_folder/shots/shot_folder/'
假设您知道所需路径的深度。
folder = 'C:/Users/arul/Desktop/jobs/project_folder/shots/shot_folder/elements/MexicoCity-Part1/'
folder.rsplit('/', 3)[0]
str.rsplit()
通常会返回字符串中由分隔符分隔的单词列表(从右侧开始)。
欲了解更多详细内容,请参阅 文档。