我想删除符号链接以及源目录。
例如 -
ls -lrt
testsymlink -> /user/temp/testdir
我想删除testsymlink
和/user/temp/testdir
。考虑一下,我知道唯一的符号链接名称。
任何使用python的实用程序都会很棒。
答案 0 :(得分:5)
您可以使用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)
答案 1 :(得分:3)
os.system()
电话中包装下面的两个命令,但我强烈建议你按照Tim的回答。
要获取符号链接所指向的对象的路径,可以使用readlink
:
$ readlink testsymlink
/user/temp/testdir
要删除符号链接指向的对象,您可以将readlink
的输出传递给rm
:
$ rm -r `readlink testsymlink`
反引号导致它们内部的命令被运行,然后用它自己的输出替换。最后,要删除符号链接本身,我们只需运行:
$ rm testsymlink