在 Python 中递归遍历多个符号链接

Traversing multiple symbolic links recursively in Python

我想写一个递归函数来遍历符号 links 从源路径到目标路径

示例: 1)readlink patha/pathb/pathc -> 如果符号 link 存在则给出 2)readlink patha/pathb/pathc/ -> 如果符号link存在

则给出

我在 python 中使用 os.readlink 方法在 Python 中获取符号 link 但是如何遍历多个符号 links

遍历原因: 如果将来有人想在两者之间添加 file3 symbolic link,那么我想要一个递归函数来遍历每个 symbolic links 并给出最终的目标路径
file1 -> file2 -> .... -> 用于获取目标路径

您可以简单地使用

import os

def find_link(path):
   try:
        link = os.readlink(path)
        return find_link(link)
   except OSError: # if the last is not symbolic file will throw OSError
        return path

print(find_link("a/b/c"))