智能复制实用程序
smartcp的Python项目详细描述
这是一个有用的实用工具,用于自动从源和目标复制 这可以通过不同的参数来定制。 下面是一个很好的使用示例 this repo。
安装
您可以通过克隆此回购协议从源代码安装它
git clone https://github.com/blegat/smartcp.git
并运行
sudo python setup.py install
您还可以通过pip
sudo pip install smartcp
或easy_install
sudo easy_install smartcp
要求
它正式只与Python3和Python2兼容 但是python 2的重音有一些问题 (与python 2相比,python 3有更好的unicode方法)。
您还需要PyYAML。
用法
您可以通过运行获得帮助
smartcp -h
配置文件
要指定要复制到何处的文件,需要指定配置文件。 它应该使用YAML syntax。 它包含源的基路径, 目标和客户端的基本路径。 对于每个客户, 可以指定一些参数 (如果未给出参数,则将有一个副本,但不能有任何节点 arg)以及如何生成 这些参数的源和目标。 要指定它们,需要嵌套三种类型的节点。
- 可以包含占位符的path_format。$ 然后替换参数。 参数可以是三个节点之一。
- 包含散列和节点键的mapping。
- 是参数之一的arg。
下面是一个从^{tt9}复制文件的示例$ 在将file重命名为b时将其重命名为a。 它还将1/1/x复制到../x-1.1。
input_base:.output_base:.clients:-name:Officialarguments:subversion:[1,2,3]version:[1,2,3,4,5]file:[a,A,x,X]input:path_format:"{0}/{1}/{2}"parameters:-arg:subversion-arg:version-arg:fileoutput:path_format:"{0}-{1}.{2}"parameters:-mapping:a:bkey:arg:file-arg:version-arg:subversion-name:Simple copyinput:path_format:1/1/xoutput:path_format:../x-1.1
注意路径格式的",因为没有它yaml将无法理解 它只是一根绳子。