反向关于spli

2024-04-25 22:48:50 发布

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

我有这个C:/Users/nash08/Desktop/NUKE_OITO_MEDIA/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx

我想把这条路上的一切都去掉

/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx

我在正则表达式方面的知识相当平庸,我习惯的唯一方法就是用/这样来分隔路径

rpath = path.rsplit('/',1)[0]
rpath2 = re.split('/',path)

索引到我想要的地方。你知道吗


Tags: pathusersworkfxdesktopnukedpxv01
3条回答

你用的是正则表达式。 有效的方法是:

t = "C:/Users/nash08/Desktop/NUKE_OITO_MEDIA/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx"
output = re.search(".*(/PRODUTORAS.*)", t)
print output.group(1)
>'/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx'

如果您的前缀没有更改,则此代码将起作用:

path = "C:/Users/nash08/Desktop/NUKE_OITO_MEDIA/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx"
prefix = "C:/Users/nash08/Desktop/NUKE_OITO_MEDIA/"

print path.strip(prefix)

#Output:
>>> 'PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx'

下面是一个简单的方法:

if '/PRODUTORAS/' in mypath:
    newpath = '/PRODUTORAS/' + mypath.split('/PRODUTORAS/', 1)[1]

只有在路径分隔符使用正斜杠并且PRODUTORAS大写时,此方法才有效。你知道吗

相关问题 更多 >