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