Python スクリプトでディレクトリ構造の再帰コピーを実行しようとしています。bash コマンド ラインからコピーを実行すると、次のようになります。
mike@mike-VirtualBox:~/head$ cp -rf ./applications/app_template/ ./applications/my_dir
期待される結果が得られます。
mike@mike-VirtualBox:~/head$ tree ./applications/my_dir/
./applications/my_dir/
├── cdl
│ ├── include
│ ├── Makefile
│ ...
│ └── other
├── cds
│ ├── include
...
ただし、Python スクリプトを使用して同じことを実行しようとすると、次のようになります。
print "./applications/"+tar_dir
os.system("cp -rf ./applications/app_template/ ./applications/"+tar_dir)
私は得る:
mike@mike-VirtualBox:~/head$ tree ./applications/my_dir/
./applications/my_dir/
└── app_template <--- why did it copy that too?
├── cdl
│ ├── include
│ ├── Makefile
│ ...
│ └── other
├── cds
│ ├── include
...
私のpythonスクリプトの出力は、私が同じターゲットを使用していることを示しています:
./applications/my_dir
そして、私のコマンドの残りの部分は同じであることがわかります。os.system()
では、コマンドをシェルから直接実行した場合とは異なる出力が得られるのはなぜでしょうか?