Python中os.symlink创建目录符号链接时双向报错的问题咨询
Python中os.symlink创建目录符号链接时双向报错的问题咨询
我最近在尝试用Python创建符号链接,但好像对os.symlink的用法理解有误,遇到了一个两难的问题,想请教大家。
假设我的路径定义是这样的:
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目录下的所有文件夹都创建对应的符号链接到link目录里,本以为Python实现起来也一样简单,但显然我哪里理解错了,希望有人能帮我理清这个问题。
备注:内容来源于stack exchange,提问作者AlexH
相关产品推荐
相关产品推荐

