La première chose que je dois mentionner ici, je suis novice en python.
Maintenant, j'ai un fichier situé dans:
a/long/long/path/to/file.py
Je veux copier dans mon répertoire personnel avec un nouveau dossier créé:
/home/myhome/new_folder
Mon résultat attendu est:
/home/myhome/new_folder/a/long/long/path/to/file.py
Existe-t-il une bibliothèque pour le faire? Si non, comment puis-je y parvenir?
Pour créer tous les répertoires de destination de niveau intermédiaire, vous pouvez utiliser os.makedirs()
avant de copier:
import os
import shutil
srcfile = 'a/long/long/path/to/file.py'
dstroot = '/home/myhome/new_folder'
assert not os.path.isabs(srcfile)
dstdir = os.path.join(dstroot, os.path.dirname(srcfile))
os.makedirs(dstdir) # create all directories, raise an error if it already exists
shutil.copy(srcfile, dstdir)
jetez un oeil à shutil
. shutil.copyfile(src, dst)
copiera un fichier dans un autre fichier.
Notez que shutil.copyfile
ne créera pas de répertoires qui n'existent pas déjà. pour cela, utilisez os.makedirs