61

ここで最初に言及しなければならないことは、私はpythonが初めてです。

今、私は次の場所にファイルを持っています:

a/long/long/path/to/file.py

新しいフォルダーを作成してホームディレクトリにコピーしたい:

/home/myhome/new_folder

私の期待される結果は次のとおりです。

/home/myhome/new_folder/a/long/long/path/to/file.py

それを行うための既存のライブラリはありますか?いいえの場合、どうすればそれを達成できますか?

4

2 に答える 2

80

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)
于 2012-10-11T15:42:54.113 に答える
25

をご覧くださいshutilshutil.copyfile(src, dst)ファイルを別のファイルにコピーします。

shutil.copyfileまだ存在しないディレクトリは作成されないことに注意してください。そのために、使用しますos.makedirs

于 2012-10-11T15:20:01.233 に答える