在Python中找到已解析的Unix样式路径的程序
假设我们有一个Unix路径,在字符串列表中,我们必须找到其解析版本。如我们在Unix中所知,“..”表示先前的目录,“。”表示先前的目录。表示停留在当前目录中。此处的解析表示对这两个符号的评估,以便获得当前所在的最终目录。
因此,如果输入类似于path=[“usr”,“..”,“usr”,“。”,“local”,“etc”,“foo”],则输出将为['usr','local','etc','foo'],因为它代表“/usr/../usr/./local/etc”,它解析为“/usr/local/etc/foo”
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, path):
s = []
for i in path:
if i == '..':
if len(s) >0:
s.pop()
elif i !='.':
s.append(i)
return s
ob = Solution()
print(ob.solve(["usr", "..", "usr", ".", "local", "etc", "foo"]))输入项
["usr", "..", "usr", ".", "local", "etc", "foo"]
输出结果
['usr', 'local', 'etc', 'foo']