ここで最初に言及しなければならないことは、私はpythonが初めてだということです。
これで、次の場所にファイルがあります。
a/long/long/path/to/file.py
新しいフォルダーを作成してホームディレクトリにコピーしたい:
/home/myhome/new_folder
私の期待される結果は次のとおりです。
/home/myhome/new_folder/a/long/long/path/to/file.py
それを行うための既存のライブラリはありますか?いいえの場合、どうすればそれを達成できますか?
すべての中間レベルの宛先ディレクトリを作成するには、コピーする前に os.makedirs()
を使用できます。
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)
shutil
を見てください。 shutil.copyfile(src, dst)
は、ファイルを別のファイルにコピーします。
shutil.copyfile
は、まだ存在しないディレクトリを作成しないことに注意してください。そのためには、 os.makedirs
を使用します