Search code examples
pythondirectorydirectory-structurehardlink

Recursively creating hardlinks using python


What I basically would like to do is cp -Rl dir1 dir2. But as I understand it, python only provides shutils.copytree(src,dst) which actually copies the files, but has no possibility of hardlinking the files instead.

I know that I could invoke the cp command using the subprocess module, but I'd rather like to find a cleaner (pythonic) way to do so.

So is there an easy way to do so or do I have to implement it myself recursing through the directories?


Solution

  • It's possible in Python stdlib using shutil and os.link:

    import os, shutil
    
    shutil.copytree(src, dst, copy_function=os.link)