我想将文件 src
复制到目标 dst
,但如果 src
恰好是符号链接(symbolic link),请改为保留链接复制文件的内容。执行复制后,os.readlink
应该为 src
和 dst
返回相同的结果。
shutil
模块有copyfile
、copy
、copy2
等几个函数,但所有这些将复制文件的内容,并且不会保留链接。 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/