我有C:/Users/nash08/Desktop/NUKE_OITO_MEDIA/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx
我想要删除路径中的所有内容,直到produtoras这样的话:
/PRODUTORAS/PYTHON/WORK_INTERNO/_CENAS_FX/N10/N01_V01_NK08.%04d.dpx
我对正则表达式的了解非常平庸,我习惯的唯一方法是将/
这样的路径分开
rpath = path.rsplit('/',1)[0]
rpath2 = re.split('/',path)
并指向我想要的地方。
答案 0 :(得分: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'
答案 1 :(得分:1)
这是一个简单的方法:
if '/PRODUTORAS/' in mypath:
newpath = '/PRODUTORAS/' + mypath.split('/PRODUTORAS/', 1)[1]
仅当您使用正斜杠作为路径分隔符并且PRODUTORAS
大写时才有效。
答案 2 :(得分:0)
如果您的前缀没有更改,则此代码将起作用:
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'