一组从文件路径中检索信息的工具。
项目描述
Path2Insight
Path2Insight (p2i) 是一个模块化和可扩展的 python 模块,旨在提供一套统一和全面的处理工具来分析文件路径。P2i 支持静态文件系统分析,无需访问原始物理存储。基本上,扫描作为文本文件导出的存储内容就足以探索保存的资源。也不需要访问文件的内容,因为 p2i 模块将文件路径作为字符串导入。
加载后,文件路径作为 python 对象存储在内存中,支持:预处理、文本处理以及文件夹和文件的描述性分析。
预处理:根据多个标准(例如父文件夹、深度)对文件进行采样、排序和选择。
文本处理:在几个可扩展的分词器的帮助下,将文件路径分块成标记(完整路径、词干和名称)、n-gram 或完整路径。此外,标记器提供了基于文件结构和内容聚合文件的选项(为实体识别或分类任务等进一步分析准备路径)。
描述性分析: P2i 实现了标记、词干和扩展的计数器。它还支持统计功能,例如扩展、词干和名称分布的 X2 测试。此外,文件夹深度分析功能有助于表示文件夹结构的复杂性。
下表显示了 Path2Insight 如何区分和补充低级 python 模块(pathlib 和 os.path)提供的功能。
功能性 |
P2i |
路径库 |
操作系统路径 |
|---|---|---|---|
预处理 |
Pathlib + 采样、排序、选择 |
匹配,加入路径 |
范数,范数路径 |
描述性统计 |
计数器:词干、扩展名、名称。标记器。分词器 |
操作系统统计 |
操作系统统计 |
文本处理 |
Pathlib + Tokens、n-grams、标记器、lower、upper、…… |
词干、名称、父级、扩展驱动器,... |
分裂 |
访问或修改系统信息 |
否,可以通过加入完整路径链接到其他元数据(日期时间、用户) |
是的,chmod,当前文件夹。… |
是的,用户、大小、日期时间、描述符…… |
P2i 是无依赖的(Python 2.7 用户只需要 pathlib2)、快速且可扩展的路径处理工具包。它兼容主要的数据分析python模块,如pandas、scikit-learn、nltk和matplotlib,以扩展path2insight的分析可能性。
例子
导入模块并使用静态文件路径加载演示数据集(或使用 path2insight.walk从您的文件系统收集)。
>>> import path2insight
>>> from path2insight.datasets import load_ensembl
>>> filepaths = load_ensembl()
>>> path2insight.depth_counts(filepaths)
Counter({3: 1, 4: 11, 5: 39424, 6: 5543, 7: 2733, 8: 3388})
>>> path2insight.token_counts(filepaths).most_common(10)
[('txt', 31977),
('gene', 13798),
('ensembl', 12727),
('dm', 12500),
('homolog', 7380),
('fa', 5890),
('chromosome', 5011),
('feature', 4878),
('dna', 4608),
('90', 3404)]
>>> path2insight.extension_counts(filepaths).most_common(10)
[('.gz', 44427),
('', 3094),
('.bb', 847),
('.nsq', 349),
('.nin', 349),
('.nhr', 349),
('.tsv', 336),
('.psq', 250),
('.pin', 250),
('.phr', 250)]
>>> path2insight.select_re(filepaths, level5='micro.*')
[PosixFilePath('/Volumes/release-90/variation/VEP/microtus_ochrogaster_vep_90_MicOch1.0.tar.gz'),
PosixFilePath('/Volumes/release-90/variation/VEP/microtus_ochrogaster_refseq_vep_90_MicOch1.0.tar.gz'),
PosixFilePath('/Volumes/release-90/variation/VEP/microtus_ochrogaster_merged_vep_90_MicOch1.0.tar.gz'),
PosixFilePath('/Volumes/release-90/variation/VEP/microcebus_murinus_vep_90_Mmur_2.0.tar.gz'),
PosixFilePath('/Volumes/release-90/rdf/microtus_ochrogaster/microtus_ochrogaster_xrefs.ttl.gz.graph'),
>>> path2insight.distance_on_token(filepaths[0:10])
array([[ 0. , 2. , 1.41421356, 3. , 3. ],
[ 2. , 0. , 2.44948974, 3.31662479, 3.31662479],
[ 1.41421356, 2.44948974, 0. , 3. , 3. ],
[ 3. , 3.31662479, 3. , 0. , 1.41421356],
[ 3. , 3.31662479, 3. , 1.41421356, 0. ]])
安装和依赖
Path2Insight 在 Pypi 上可用。这使得可以通过以下方式安装它:
pip install path2insight
升级 path2insight 使用
pip install --upgrade path2insight
Path2Insight 适用于 Python 2.7 和 Python 3.4+。Path2Insight 在很大程度上依赖于pathlib模块。该模块是 Python 3.4 或更高版本的一部分。对于 Python 2,使用了反向移植pathlib2。因此,建议在 Python 3.4 或更高版本中使用 Path2Insight。
Path2Insight 的一些子模块依赖于其他 Python 包(numpy、pandas、sklearn、scipy、jellyfish)。可以通过在requirements-full.txt文件中安装软件包来获得完整安装。
pip install -r requirements-full.txt
引用
跟随。
项目详情
path2insight -1.0b2.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 32db51b2dce585b5e9f4ba446590695ecf0c9877ee4f7b6745ac92bb4627e747 |
|
| MD5 | 061a4cf5c41fcde4c0655a20244cdce2 |
|
| 布莱克2-256 | 05ed6f919bc4de9f0b0a21e2e68786c9ea96ca4634ca3e9c1eb288152a76fe88 |
path2insight -1.0b2-py2.py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 1d618de89d5d131abacb717f6a4b0e5451f29a4eb76a5e2660e1972c34f4801b |
|
| MD5 | ee0de692aa8889d317ac07bd89341eed |
|
| 布莱克2-256 | a3eba21d19530150551e9eaca37f433abd99b09d0d29c7d7213ce99711532fef |