获取常规文件和目录统计信息的工具

gigabloat的Python项目详细描述


Gigabloat文件管理器

注意:这个项目是在它的婴儿阶段,不要使用它,喜欢。以后再来看看怎么样。在

发展

目前Gigabloat主要是在MacOS(Catalina)上开发的,因此我只能为MacOS相关的开发提供明确的说明,尽管我认为它在Linux和Windows上会非常相似。在

MacOS

这个项目在开发过程中依赖于以下包。在

  • PyEnv-用于切换到此包所需的特定python版本
  • Poetry-用作依赖关系管理解决方案。在
  • Black-代码格式化程序。在
  1. 克隆/派生此回购
  2. 安装PyEnv和poether(请参阅说明中的repos,Gigabloat只需要基本的安装)
  3. 您需要将这一行添加到zhrc,否则在使用诗歌时会看到一些错误
    eval "$(pyenv init -)"
  4. 在这个repo的根文件夹中,指定PyEnv使用的python版本(这将更新.python版本文件)
pyenv install 3.8.2
pyenv local3.8.2
  1. 运行poetry install
  2. 配置VScode工作区设置以使用black和pylint
    5.1条。获取诗歌虚拟环境路径poetry env info --path
    5.2条。创建.vscode文件夹,其中包含settings.json文件(在这个项目的根目录下),并添加以下行 ^{pr2}$ 在

一般算法

这一部分只是让我跟踪一些实验性的/未完成的/不确定的东西

用要扫描的目录调用scanDirectory。 为此,我们:

  • 现在只使用路径名创建虚拟的Directory(如果提供了父路径名)
  1. 获取文件列表(在dir中,没有子目录)
    • 为每个对象创建File对象
    • 用这些文件的数目递增扫描中的总文件数
  2. 获取子目录列表
    • 再次递归应用scanDirectory
  3. File和子Directories更新伪Directory
  4. 将目录添加到self.directories列表
  5. 如果我们在这一点上,发现我们是根
    • 分配self.root_directory以方便访问
  6. 返回要在步骤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、图像、音频)的数量和大小

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

推荐PyPI第三方库


热门话题
java如何创建一个储蓄银行系统,程序在余额翻倍后停止循环   java给定两个链表,找到其中一个链表是另一个链表的子链表的索引   双常量的java比较   java如何从扩展同一类的多个类调用函数   mysql通过Java的GUI将数据添加到数据库表中。   int在java中从点后的数字中提取值   java搜索中的正则表达式   如果没有更改,java将跳过DLL编译   java getSentenceInstance和空白   java ASM(来自ObjectWeb)未正确计算MaxStack,即使已设置ClassWriter(COMPUTE_MAX+COMPUTE_STACK)   java Android:图像处理库(openCV的替代品)   java JXCollapsiblePane切换未正确处理   java我们可以从一个maven依赖项到另一个maven依赖项拥有不同的类路径位置吗?   java更改绘制的椭圆形的颜色   如何使用正则表达式或其他方法删除java字符串中的额外“\r\n”   java非易失性变量是否需要同步?   java Android下载管理器将同一文件下载两次