获取常规文件和目录统计信息的工具
gigabloat的Python项目详细描述
Gigabloat文件管理器
注意:这个项目是在它的婴儿阶段,不要使用它,喜欢。以后再来看看怎么样。在
发展
目前Gigabloat主要是在MacOS(Catalina)上开发的,因此我只能为MacOS相关的开发提供明确的说明,尽管我认为它在Linux和Windows上会非常相似。在
MacOS
这个项目在开发过程中依赖于以下包。在
- 克隆/派生此回购
- 安装PyEnv和poether(请参阅说明中的repos,Gigabloat只需要基本的安装)
- 您需要将这一行添加到zhrc,否则在使用诗歌时会看到一些错误
eval "$(pyenv init -)"
- 在这个repo的根文件夹中,指定PyEnv使用的python版本(这将更新.python版本文件)
pyenv install 3.8.2 pyenv local3.8.2
- 运行
poetry install
- 配置VScode工作区设置以使用black和pylint
5.1条。获取诗歌虚拟环境路径poetry env info --path
5.2条。创建.vscode
文件夹,其中包含settings.json
文件(在这个项目的根目录下),并添加以下行 ^{pr2}$ 在
一般算法
这一部分只是让我跟踪一些实验性的/未完成的/不确定的东西
用要扫描的目录调用scanDirectory
。
为此,我们:
- 现在只使用路径名创建虚拟的
Directory
(如果提供了父路径名)
- 获取文件列表(在dir中,没有子目录)
- 为每个对象创建
File
对象 - 用这些文件的数目递增扫描中的总文件数
- 为每个对象创建
- 获取子目录列表
- 再次递归应用
scanDirectory
- 再次递归应用
- 用
File
和子Directories
更新伪Directory
- 将目录添加到
self.directories
列表 - 如果我们在这一点上,发现我们是根
- 分配
self.root_directory
以方便访问
- 分配
- 返回要在步骤2中使用的
Directory
建议的CLI接口
命令gigabloat scan
获取常规统计信息
选项:--dir <directory>
@必需
要扫描的目录--json
尚未实现
提供json输出--table
尚未实现
提供表格输出--pyobj
尚未实现
提供pyobj输出--nofile
尚未实现
扫描完成后不保存报告文件
命令gigabloat filter
尚未实现
过滤某些特定状态--f <file>
@必需
指定报表文件--ext <ext>
提供文件的统计信息。扩展--bd
显示最大目录(按大小)--bf
显示最大文件(按大小)--photos
显示照片的数量和大小--videos
显示视频的数量和大小--audio
音频大小和显示量
--media
显示媒体文件(phtos、图像、音频)的数量和大小
- 项目
标签: