python - 在 Python 中复制符号链接(symbolic link)

标签 python symlink

我想将文件 src 复制到目标 dst,但如果 src 恰好是符号链接(symbolic link),请改为保留链接复制文件的内容。执行复制后,os.readlink 应该为 srcdst 返回相同的结果。

shutil模块有copyfilecopycopy2等几个函数,但所有这些将复制文件的内容,并且不会保留链接。 shutil.move 具有正确的行为,除了它删除了原始文件。

Python 中是否有一种内置方法可以在保留符号链接(symbolic link)的同时执行文件复制?

最佳答案

做事

def copy(src, dst):
    if os.path.islink(src):
        linkto = os.readlink(src)
        os.symlink(linkto, dst)
    else:
        shutil.copy(src,dst)

shutil.copytree做了类似的事情,但正如 senderle 所指出的,只复制目录而不是单个文件是很挑剔的。

关于python - 在 Python 中复制符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4847615/

相关文章:

linux - 这个构建系统可以加速吗?

R 中的 Windows/Cygwin 链接

python - 如何生成15个总和等于特定数的随机数

python - 在 "validation"类中使用异常或返回状态代码更好吗?

python - 获取子类的重写函数

python - 如何在 django 模板中执行查询过滤

python - 无法让 MySQLDb 在 Mac 上的 python 中工作还有其他更简单的数据库吗?

c# - 如何使用 .Net 获取符号链接(symbolic link)(或重解析点)的目标?

linux - 动态绝对路径符号链接(symbolic link)

linux - 为什么 clang++ 的行为与 clang 不同,因为前者是后者的符号链接(symbolic link)?