我正在尝试在我的 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()
与直接从 shell 运行命令时不同呢?