如何删除源目录中的符号链接

2024-10-01 09:27:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想删除符号链接和源目录。在

例如-

ls -lrt
testsymlink -> /user/temp/testdir

我想删除testsymlink和{}。假设我只知道符号链接的名称。在

任何使用python的工具都会很好。在


Tags: 工具名称链接符号templsuser源目录
2条回答

您可以使用os.path.realpath的结果来检测和删除符号链接目标。示例:

import os

# ./foo -> ./bar
filepath = "./foo"

if (os.path.realpath(filepath) != filepath):
    targetpath = os.path.realpath(filepath)

os.remove(filepath)
if (targetpath):
     os.remove(targetpath)

编辑:我没看到你想要一个python的解决方案:这一切只与unixshell相关。尽管您可以在一个os.system()调用中包装下面的两个命令,但我强烈建议您遵循Tim的答案。在

要获取符号链接指向的对象的路径,可以使用readlink

$ readlink testsymlink
/user/temp/testdir

要删除符号链接指向的对象,可以将readlink的输出传递给rm

^{pr2}$

反勾号会导致其中的命令运行,然后替换为其自己的输出。最后,要删除符号链接本身,我们只需运行:

$ rm testsymlink

相关问题 更多 >