Python を使用して、ファイルのディレクトリ全体を既存のディレクトリにコピーするにはどうすればよいですか? 質問する

Python を使用して、ファイルのディレクトリ全体を既存のディレクトリにコピーするにはどうすればよいですか? 質問する

barという名前のディレクトリ(1 つ以上のファイルを含む) と という名前のディレクトリ(これも 1 つ以上のファイルを含む) を含むディレクトリから次のコードを実行しますbaz。 という名前のディレクトリがないことを確認してくださいfoo

import shutil
shutil.copytree('bar', 'foo')
shutil.copytree('baz', 'foo')

次の場合は失敗します:

$ python copytree_test.py 
Traceback (most recent call last):
  File "copytree_test.py", line 5, in <module>
    shutil.copytree('baz', 'foo')
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/shutil.py", line 110, in copytree
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.py", line 172, in makedirs
OSError: [Errno 17] File exists: 'foo'

次のように入力した場合と同じように動作するようにしたいです。

$ mkdir foo
$ cp bar/* foo/
$ cp baz/* foo/

shutil.copy()各ファイルを にコピーするには をbaz使用する必要がありますかfoo? ( で 'bar' の内容を 'foo' にコピーした後ですかshutil.copytree()?) それとも、もっと簡単な/良い方法がありますか?

ベストアンサー1

標準ライブラリの一部であるソリューションは次のとおりです。

from distutils.dir_util import copy_tree
copy_tree("/a/b/c", "/x/y/z")

同様の質問を参照してください。

Pythonでディレクトリの内容をディレクトリにコピーする

おすすめ記事