在 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"))
我想写一个递归函数来遍历符号 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"))