代码之家  ›  专栏  ›  技术社区  ›  AlexH

目录存在和不存在时os.symlink失败

  •  2
  • AlexH  · 技术社区  · 5 月前

    我有源路径和链接路径。我试图创建一个符号链接,但一定是误解了它的使用方式。让我们说

    source = '/var/source/things/'
    link = '/var/link/'
    

    当我使用 os.symlink(source, link)

    最初我收到了一个错误

    FileNotFoundError: [Errno 129] EDC5129I No such file or directory.: '/var/source/things/' -> '/var/link/'
    

    好的,如果目录不存在,我会放一些东西来创建它。

    if not os.path.exists(link):
        os.makedirs(link)
    

    重新运行并立即接收:

    FileExistsError: [Errno 117] EDC5117I File exists.: '/var/source/things/' -> '/var/link/'
    

    那么,如果目录不存在,它就会失败,如果目录存在,它也会失败吗?

    我们有一个bash脚本,它使用

    ln -sf $source/* $link
    

    它为“source”中的所有文件夹创建符号链接,并希望python也能同样简单。但正如我之前提到的,我在这里误解了一些东西。

    1 回复  |  直到 5 月前
        1
  •  2
  •   Dayananda D R    5 月前

    你能删除链接末尾的“/”并尝试一次吗

    source = '/var/source/things/'
    link = '/var/link'
    

    除此之外,我在你的代码中没有看到任何问题。