How to remove a path prefix in python?
I wanted to know what is the pythonic function for this :
I want to remove everything before the wa
path.
p = path.split('/')
counter = 0
while True:
if p[counter] == 'wa':
break
counter += 1
path = '/'+'/'.join(p[counter:])
For instance, I want '/book/html/wa/foo/bar/'
to become '/wa/foo/bar/'
.
A better answer would be to use os.path.relpath:
http://docs.python.org/3/library/os.path.html#os.path.relpath
>>> import os
>>> full_path = '/book/html/wa/foo/bar/'
>>> relative_path = '/book/html'
>>> print(os.path.relpath(full_path, relative_path))
'wa/foo/bar'
>>> path = '/book/html/wa/foo/bar/'
>>> path[path.find('/wa'):]
'/wa/foo/bar/'