一部の部分が欠落しているが、2 つのプロパティがあることが保証されている、一連の不完全な修飾パスがあるとします。
- 不完全パスと完全修飾パスの両方の最後の部分は完全に等しくなり、
- 不完全修飾パスの各部分の順序は、完全修飾パスの部分の実際の順序と一致します。
例えば、
p1 = '/foo/baz/myfile.txt'
p2 = '/bar/foo/myfile.txt'
actual = '/foo/bar/baz/myfile.txt'
この場合、p1
は一致しp2
ますが、実際のパスでbar
は の後に出現するため、一致しませんfoo
。簡単です:[actual.split('/').index(part) for part in p1.split('/')]
順序付けられたリストになりますが、同じ理解でp2
はありません。
しかし、パスに繰り返しがある場合はどうなりますか?
p1 = '/foo/bar/bar/myfile.txt'
p2 = '/bar/bar/baz/myfile.txt'
actual = '/foo/bar/baz/bar/myfile.txt'
p1
一致するが一致しないことをどのように識別できますかp2
(baz
最初の の後にbar
発生しますが、2 番目の後に発生しないため?