1. ホーム
  2. python

Pythonでパスのプレフィックスを削除する方法は?

2023-09-10 14:11:30

質問

私はこのためのpythonic関数は何であるかを知りたいと思った。

の前にあるものをすべて取り除きたいのです。 wa のパスを削除したい。

p = path.split('/')
counter = 0
while True:
    if p[counter] == 'wa':
        break
    counter += 1
path = '/'+'/'.join(p[counter:])

例えば '/book/html/wa/foo/bar/''/wa/foo/bar/' .

どのように解決するのですか?

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'