在代码中,可以使用os.path.realpath()
函数来获取符号链接所指向的真实路径。然后,使用该真实路径来查找文件。
以下是一个示例代码:
import os
def find_file(path, filename):
for root, dirs, files in os.walk(path):
if filename in files:
return os.path.join(root, filename)
return None
def find_file_without_symlink(path, filename):
real_path = os.path.realpath(path)
return find_file(real_path, filename)
在上面的代码中,find_file()
函数用于在给定路径下查找指定的文件。os.walk()
函数用于遍历路径下的所有子目录和文件。如果找到文件,则返回文件的完整路径;如果未找到文件,则返回None
。
find_file_without_symlink()
函数用于查找不遵循符号链接的文件。它首先通过os.path.realpath()
函数获取路径的真实路径,然后调用find_file()
函数来查找文件。
这样,即使路径是一个符号链接,也能正确地查找文件。