首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中删除符号链接?

问如何在python中删除符号链接?
EN

Stack Overflow用户
提问于 2012-07-28 19:18:27
回答 5查看 47.5K关注 0票数 31

我一直在尝试删除我工作目录中的一些符号链接,但我遇到了一些问题。

os.remove还会删除链接的原始文件夹的实际内容

如果是符号链接,os.shutil会抛出一个错误。

有没有办法在不破坏原始内容的情况下使用python命令删除符号链接?

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-07-29 05:56:30

os.unlink()为我工作。它会删除symlink,但不会删除它所链接的目录。

票数 42
EN

Stack Overflow用户

发布于 2016-01-05 15:15:37

接受的答案在通过mklink /D创建链接的Windows上不起作用。如果这就是你的问题,答案已经发布在这个问题中:Delete Symlink to directory on Windows

下面的代码应该可以在两个系统上运行:

代码语言:javascript
复制
if(os.path.isdir(targetLink)):
    os.rmdir(targetLink)
else:
    os.unlink(targetLink)
票数 7
EN

Stack Overflow用户

发布于 2012-07-29 18:00:01

对不起,我的坏,我犯了一个愚蠢的编程错误:我愚蠢地删除了源代码而不是链接。

正确答案是@samfrances。

os.unlink做到了这一点。

除此之外,如果您想要使用python清除目录,这里还有一些其他提示:

当然不是threadsafe,但是你应该明白了…

代码语言:javascript
复制
def rm(obj):

    if os.path.exists(obj):
        if os.path.isdir(obj):
            if os.path.islink(obj):
                 os.unlink(obj)
            else:
                shutil.rmtree(obj)
        else:
            if os.path.islink(obj):
                os.unlink(obj)
            else:
                os.remove(obj)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11700545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档