Python os.readlink() 方法



OS 模块的 Python 方法 readlink() 将符号链接的路径作为其参数,并返回符号链接指向的路径。它可能返回绝对或相对路径名。

语法

以下是 Python os.readlink() 方法的语法 -


 os.readlink(path, *, dir_fd)

参数

Python os.readlink() 方法的参数如下 -

  • path − 它指定了我们将要为其查找链接源的路径或符号链接。
  • dir_fd − 这是一个可选参数,它是引用目录的文件描述符。

返回值

Python os.readlink() 方法返回一个字符串,该字符串表示符号链接指向的路径。

以下示例显示了 readlink() 方法的用法。在这里,我们首先创建一个指向文件的符号链接,然后显示原始文件路径。


import os

src = '/usr/bin/python'
dst = '/tmp/python'

# This creates a symbolic link on python in tmp directory
os.symlink(src, dst)

# Now let us use readlink to display the source of the link.
path = os.readlink("Source link:", dst )
print path

让我们编译并运行上面的程序,这将创建一个指向 /usr/bin/python 的符号链接,稍后它将使用 readlink() 调用读取符号链接的源代码。在运行此程序之前,请确保您的系统中没有可用的 /tmp/python。

Source link: /usr/bin/python

如果指定的路径不是符号链接,则 os.readlink() 将引发 OSError。下面的示例说明了相同的情况。


import os

try:
	 	# reading a path that doesn't exist
	 	src = os.readlink("/tmp/path")
	 	print(f"Source Path: {result}")
except OSError as exp:
	 	print(f"Error: {exp}")

在执行上述代码时,它将产生以下输出 -

Error: [Errno 2] No such file or directory: '/tmp/path'