档案、图像、远程文件系统等的面向对象路径接口
pathlab的Python项目详细描述
{a2}
Pathlab为存档、图像、远程 文件系统等。它是基于pathlib构建的,包括对以下内容的内置支持:
- tar存档
- zip存档
- isodisc images(包括Rock Ridge;不包括Joliet和UDF)
- JFrog工件(通过requests)
您还可以使用自己的访问器定义自己的Path子类。在
安装
需要Python 3.6+。使用pip:
pip install --user pathlab
使用
这些用法示例改编自pathlib文档。在
获取路径类型:
>>> from pathlab import TarAccessor >>> TarPath = TarAccessor('project.tgz').TarPath
列出子目录:
>>> root = TarPath('/') >>> [x for x in root.iterdir() if x.is_dir()] [TarAccessor('project.tgz').TarPath('/docs') TarAccessor('project.tgz').TarPath('/etc'), TarAccessor('project.tgz').TarPath('/project')]
在此目录树中列出Python源文件:
>>> list(root.glob('**/*.py')) [TarAccessor('project.tgz').TarPath('/setup.py'), TarAccessor('project.tgz').TarPath('/docs/conf.py'), TarAccessor('project.tgz').TarPath('/project/__init__.py')]
在目录树中导航:
>>> p = TarPath('/etc') >>> q = p / 'init.d' / 'reboot' >>> q TarAccessor('project.tgz').TarPath('/etc/init.d/reboot') >>> q.resolve() TarAccessor('project.tgz').TarPath('/etc/rc.d/init.d/halt')
查询路径属性:
>>> q.exists() True >>> q.is_dir() False
打开文件:
>>> with q.open() as f: f.readline() ... '#!/bin/bash\n'
- 项目
标签: