bashで、ディレクトリはあるがディレクトリfoo
がないbar
場合、コマンド
cp -r foo バー
はディレクトリを作成しbar
、このディレクトリには の内容が含まれますfoo
。これに相当する Python はshutil.copytree("foo", "bar")
.
ただし、ディレクトリfoo
とディレクトリもあるbar
場合、コマンドは
cp -r foo バー
foo
その下bar
にすべてのコンテンツを含む新しいディレクトリが作成foo
されます。
これに相当するPythonはありますか?
os.system
a)またはを使用して実際のコマンドを呼び出すb) ディレクトリのベース名を手動で抽出し、
foo
それを bar を使用して追加しos.path.join
、実行するcopytree
つまり、Python にはディレクトリにコピーするという概念がありますか?
更新:「重複する」質問には両方とも、ディレクトリに「コピー」するのではなく、ディレクトリを「コピー」するソリューションがあります。このようなソリューションを使用するには、ディレクトリのベース名を手動で抽出し、foo
それを追加してからbar
使用する必要がありますdistutils.dir_util.copy_tree
。これを必要としないソリューションを明示的に探しています。
bar
既に存在する場合は、 のすべての内容でcp -r foo bar
新しいfoo
内部を作成します。一方、新しい を作成せずにすべてを内部に入れます。bar
foo
distutils.dir_util.copy_tree
foo
bar
foo