如何使用Python将目录从包递归复制到当前路径
例如,在我的Python项目的包中有一个样板目录,当运行这个CLI工具时,我想将样板复制到当前的工作路径,如何使它?如何使用Python将目录从包递归复制到当前路径,python,python-3.x,Python,Python 3.x,例如,在我的Python项目的包中有一个样板目录,当运行这个CLI工具时,我想将样板复制到当前的工作路径,如何使它? 如果样板文件不是Python包(没有\uuuu init\uuuu.py文件的目录),我建议这样做: import os.path import pkg_resources import shutil root_dir= os.path.dirname(pkg_resources.resource_filename('my_lib', '__init__.py')) src_p
如果
样板文件
不是Python包(没有\uuuu init\uuuu.py
文件的目录),我建议这样做:
import os.path
import pkg_resources
import shutil
root_dir= os.path.dirname(pkg_resources.resource_filename('my_lib', '__init__.py'))
src_path = os.path.join(root_dir, "boilerplate")
if os.path.isdir(dst_path):
shutil.rmtree(dst_path)
shutil.copytree(src_path, dst_path)
这个想法:
- 获取库的根路径(“我的库”)
- 获取此根目录中“样板文件”的完整路径
- 然后使用
(除非您想排除某些文件,如“.svn”)copytree
zip\u safe=False
(在setup.py
中)