排除/忽略目录中的文件(使用类似于.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)
==


向获得本软件副本和相关文档文件(以下简称"软件")的任何人收取费用,以在不受限制的情况下处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售本软件副本的权利,以及允许向其提供软件的人员这样做,但须遵守以下条件:


上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

明示或默示的种类,包括但不限于适销性、适用于特定目的和不侵权的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或软件的使用或其他交易引起的、由软件引起的或与之相关的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java CXF和授权   java在网站中部署使用swing创建的表单   java为什么getHeaderField()返回一个字符串,其中getHeaderFields()返回HttpUrlConnection中的Map<String,List<String>>   java如何检测恶意数据包?   webview中的java网页为空   java SWT图像资源,用于将我的所有图像存储在一个位置   java计算数组的最大长度,使平均值小于给定值   java“发件人电话号码无效”和美国号码   将Swing组件作为内容的自定义Java工具提示不会显示   在并发HashMap中重新灰化期间的java检索   Java 7和Tomcat 7.0.64 ClassFormatException:常量池中的字节标记无效   使用JUnit的java assertNull因NullPointerException失败   java内存中的文件是否与文件系统中的文件大小相同?   循环内实例化的类型的java注入依赖项