2017-09-21 9 views
1

と現在のパスにパッケージから再帰的にディレクトリをコピーする方法、私のPythonプロジェクトのパッケージで定型ディレクトリが存在し、このCLIツールを実行すると、私はそれを作るためにどのように、現在の作業パスに定型をコピーします? enter image description here例えばPythonの

答えて

1

boilerplateはPythonパッケージ(__init__.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) 

アイデア:

  • は(あなたのライブラリーのルート・パスを取得します。 "my_lib")。
  • このROOT_DIRで「定型」の完全なパスを取得します。
  • その後copytreeは(あなたのような、いくつかのファイルを除外したい場合を除き「の.svn」)を使用します。

ライブラリにはzip_safe=Falsesetup.py)が含まれている必要があります。

+0

あなたの男、素敵なアイデアをありがとうございました。 – sudoz

+0

完了! Laurentにもう一度感謝します。 – sudoz