2024-10-01 09:27:50 发布
网友
我想删除符号链接和源目录。在
例如-
ls -lrt testsymlink -> /user/temp/testdir
我想删除testsymlink和{}。假设我只知道符号链接的名称。在
testsymlink
任何使用python的工具都会很好。在
您可以使用os.path.realpath的结果来检测和删除符号链接目标。示例:
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的答案。在
os.system()
要获取符号链接指向的对象的路径,可以使用readlink:
readlink
$ readlink testsymlink /user/temp/testdir
要删除符号链接指向的对象,可以将readlink的输出传递给rm:
rm
反勾号会导致其中的命令运行,然后替换为其自己的输出。最后,要删除符号链接本身,我们只需运行:
$ rm testsymlink
您可以使用
os.path.realpath
的结果来检测和删除符号链接目标。示例:编辑:我没看到你想要一个python的解决方案:这一切只与unixshell相关。尽管您可以在一个
os.system()
调用中包装下面的两个命令,但我强烈建议您遵循Tim的答案。在要获取符号链接指向的对象的路径,可以使用
readlink
:要删除符号链接指向的对象,可以将
^{pr2}$readlink
的输出传递给rm
:反勾号会导致其中的命令运行,然后替换为其自己的输出。最后,要删除符号链接本身,我们只需运行:
相关问题 更多 >
编程相关推荐