排除/忽略目录中的文件(使用类似于.gitignore的语法)、计算哈希、搜索整个目录树的项目和gzip压缩。
dirtools的Python项目详细描述
===
dirtools
==
*使用类似于.gitignore的语法(unix文件名模式匹配)排除/忽略目录中的文件。
*为目录树生成哈希,以便检查如果目录已被修改。
*递归搜索包含给定文件名的所有子ID(目录中的所有项目目录)。
*跟踪目录随时间的变化(不复制或不直接访问)。
图片::https://pypip.in/v/dirtools/badge.png
:目标:https://crate.io/packages/dirtools
…图像::https://pypip.in/d/dirtools/badge.png
:目标:https://crate.io/packages/dirtools
代码块:
$pip install dirtools
Getting Started
==
``根目录下的文件。
以下是检查是否应排除文件的方法:
…代码块::python
from dirtools import dir
d.is撸excluded('/path/to/dir/script.pyc')
hashdir
----
hashdir表示目录中每个文件的状态。它递归地计算每个文件的哈希值。
代码块::python
d=dir('/path/to/dir')
hashdir=d.hash()
ely表示包含"文件标识符"文件的子目录。
…代码块::python
from dirtools import dir
projects=d.find_projects('.project')
cept excluded files/dirs)使用gzip。
…代码块::python
from dirtools import dir
\ome/thomas/mydir.tgz'
d.压缩到(存档路径)
,或者如果要手动执行此操作:
…代码块::python
import tar file
from dirtools import dir
with tarfile.open(fileobj=out,mode="w:gz"))作为tar:
tar.add(filename,arcname=arcname,exclude=d.is撸excluded)
tr目录中的ack更改
--------
dirtools提供了一个助手"dirstate"来帮助跟踪目录中随时间的更改,而无需复制目录或直接访问目录。
代码块::python
经过一些更改后
dir_state=dirstate.from_json(state_file)
dir_state2=dirstate(d)
changes=dir_state2-dir_state
helpers
----
所有方法/属性都基于"exclude_file"和"e"中的模式排除文件和目录排除"list"。
工作方式与"os.walk"完全相同,只是它会动态跳过排除的文件/目录。代码块::python
代码块:python
from dirtools import dir
代码块:python
from dirtools import dir
license(mit)license(mit)
==
向获得本软件副本和相关文档文件(以下简称"软件")的任何人收取费用,以在不受限制的情况下处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售本软件副本的权利,以及允许向其提供软件的人员这样做,但须遵守以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。
明示或默示的种类,包括但不限于适销性、适用于特定目的和不侵权的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或软件的使用或其他交易引起的、由软件引起的或与之相关的。
dirtools
==
*使用类似于.gitignore的语法(unix文件名模式匹配)排除/忽略目录中的文件。
*为目录树生成哈希,以便检查如果目录已被修改。
*递归搜索包含给定文件名的所有子ID(目录中的所有项目目录)。
*跟踪目录随时间的变化(不复制或不直接访问)。
图片::https://pypip.in/v/dirtools/badge.png
:目标:https://crate.io/packages/dirtools
…图像::https://pypip.in/d/dirtools/badge.png
:目标:https://crate.io/packages/dirtools
代码块:
$pip install dirtools
Getting Started
==
``根目录下的文件。
以下是检查是否应排除文件的方法:
…代码块::python
from dirtools import dir
hashdir
----
hashdir表示目录中每个文件的状态。它递归地计算每个文件的哈希值。
代码块::python
d=dir('/path/to/dir')
hashdir=d.hash()
ely表示包含"文件标识符"文件的子目录。
…代码块::python
from dirtools import dir
cept excluded files/dirs)使用gzip。
…代码块::python
from dirtools import dir
\ome/thomas/mydir.tgz'
d.压缩到(存档路径)
,或者如果要手动执行此操作:
…代码块::python
import tar file
from dirtools import dir
with tarfile.open(fileobj=out,mode="w:gz"))作为tar:
tar.add(filename,arcname=arcname,exclude=d.is撸excluded)
tr目录中的ack更改
--------
dirtools提供了一个助手"dirstate"来帮助跟踪目录中随时间的更改,而无需复制目录或直接访问目录。
代码块::python
经过一些更改后
dir_state=dirstate.from_json(state_file)
dir_state2=dirstate(d)
changes=dir_state2-dir_state
helpers
----
所有方法/属性都基于"exclude_file"和"e"中的模式排除文件和目录排除"list"。
工作方式与"os.walk"完全相同,只是它会动态跳过排除的文件/目录。代码块::python
代码块:python
from dirtools import dir
代码块:python
from dirtools import dir
license(mit)license(mit)
==
向获得本软件副本和相关文档文件(以下简称"软件")的任何人收取费用,以在不受限制的情况下处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售本软件副本的权利,以及允许向其提供软件的人员这样做,但须遵守以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。
明示或默示的种类,包括但不限于适销性、适用于特定目的和不侵权的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或软件的使用或其他交易引起的、由软件引起的或与之相关的。