使用零个或多个文件和目录筛选器搜索文件系统。

pathscan的Python项目详细描述


fss将递归扫描给定目录中的匹配文件,并作为生成器生成结果。您可以提供文件和/或目录的包含/排除规则列表。

搜索是从另一个进程异步完成的。这样,搜索和对结果所做的任何操作都可能并行运行。

用法

作为库

示例:

importfss.constantsimportfss.config.logimportfss.orchestratorroot_path='/etc'filter_rules=[(fss.constants.FT_DIR,fss.constants.FILTER_INCLUDE,'init'),(fss.constants.FT_FILE,fss.constants.FILTER_INCLUDE,'net*'),(fss.constants.FT_FILE,fss.constants.FILTER_EXCLUDE,'networking.conf'),]o=fss.orchestrator.Orchestrator(root_path,filter_rules)for(entry_type,entry_filepath)ino.recurse():ifentry_type==fss.constants.FT_DIR:print("Directory: [%s]"%(entry_filepath,))else:# entry_type == fss.constants.FT_FILE:print("File: [%s]"%(entry_filepath,))

输出:

Directory: [/etc/init]
File: [/etc/networks]
File: [/etc/netconfig]
File: [/etc/init/network-interface-container.conf]
File: [/etc/init/networking.conf]
File: [/etc/init/network-interface-security.conf]
File: [/etc/init/network-interface.conf]

注意,即使我们只包含名为“init”的目录,我们仍然会看到来自根路径的匹配文件。

作为脚本

您还可以从命令行使用fss。您将得到一个可以使用和解析的结果的打印输出。

示例:

$ pathscan -i "i*.h" -id php /usr/include
F /usr/include/iconv.h
F /usr/include/ifaddrs.h
F /usr/include/inttypes.h
F /usr/include/iso646.h
D /usr/include/php

要求

  • Python3.4

安装

PYPI:

$ sudo pip3 install pathscan

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

推荐PyPI第三方库


热门话题
java将Scanner对象作为构造函数参数传递给UserInterface类   spring未能启动bean“subtocolWebSocketHandler”;嵌套的例外是java。lang.IllegalArgumentException:没有处理程序   Java EE应用程序中后台服务的多线程Java线程(设置守护进程和优先级)?   java Pull to refresh返回列表的第一个位置   无法将comparator类转换为java。可比的   java将json从servlet传递到dojo   JavaHibernate:将子类实例转换为超类实例   java警告调用servlet类时非法反射访问   java静态变量值   java@Entity和@embeddeble之间有什么区别   java将作业配置导入公共作业配置类(注释配置)   sql公共表表达式(以values语句开头)在java中给出错误   java在ImageJ中使用ImageProcessor   java PostgreSQL executeBatch()会随着时间的推移而变慢   java在安卓中以表格形式排列sqllite表数据?   java中SVG的swing定制呈现   java删除与另一个实体映射的实体   java何时/如何添加ListView适配器,使用back按钮恢复它?(片段)   java为什么IBinder和Binder之间的类型转换不是非法的?   java在方法参数列表中使用ArrayList或List