Skip to main content

一个将目录结构和文件内容复制到剪切板的工具

Project description

DirCat

PyPI version License: MIT

一个简单的命令行工具,可以将整个目录的结构和文件内容递归地复制到剪切板或输出到文件,方便与 AI 进行代码分析和调试。

🚀 安装

通过 pip 安装:

pip install dircat

✨ 特性

  • 结构清晰: 开头生成一个完整的目录树,结构一目了然
  • 两种目录展示模式:
    • --style emoji (默认): 使用 📂 / 📜 前缀展示目录和文件
    • --style tree: 使用 ASCII 树形结构 (├──, └──) 更接近系统自带的 tree 效果
  • 只看目录模式: 使用 --tree-only 可以只输出目录结构,而不包含后面的“文件内容”块,适合快速浏览项目布局
  • 多编码支持: 自动尝试常见编码 (UTF-8 / GBK / UTF-16 等),在混合编码项目下也能尽可能正确读取
  • 智能输出: 默认复制到剪切板,但在无剪切板环境会自动保存到文件
  • 文件输出: 使用 -o 选项可将所有内容直接输出到指定文件
  • 自动忽略: 默认跳过 .git, node_modules, __pycache__ 等常见的元数据和依赖文件夹,无需手动排除
  • 可配置忽略: 使用 -n/--exclude 永久写入 .dircatignore,或 -i/--ignore-temp 临时忽略特定文件/文件夹

📖 使用方法

基本用法

在您想要复制的项目根目录下,直接运行:

dircat

默认复制到剪切板。在无 GUI 环境下,将自动保存为 dircat_YYYYMMDD_HHMMSS.txt

输出到文件

使用 -o--output 选项指定输出文件:

dircat -o project_snapshot.txt

指定目录

您也可以指定一个特定的目录路径:

dircat /path/to/your/project

排除文件或文件夹

使用 -n--exclude 选项,永久添加忽略规则到 .dircatignore 文件中,支持通配符:

# 排除 build 文件夹和所有 .log 文件
dircat -n "build/" "*.log"

临时忽略文件或文件夹

使用 -i--ignore-temp 选项,可以临时忽略某些文件或文件夹,而不会将其添加到 .dircatignore 文件中。

# 本次运行忽略 build 文件夹和所有 .log 文件
dircat -i "build/" "*.log"

调整项目数量限制

默认情况下,如果一个文件夹下的文件和子文件夹总数超过 20,该文件夹将被跳过。您可以使用 --max-items 选项来修改这个限制:

dircat --max-items 30

切换目录展示样式

使用 --style 切换不同的目录展示方式:

# emoji 模式
dircat --style emoji

# ASCII 树形模式 (默认)
dircat --style tree

只输出目录结构 (不包含文件内容)

如果你只想快速看一下项目结构,而不需要文件内容,可以使用 -t--tree-only

# 类似于系统自带的 tree 命令
dircat -t

# 也可以配合自定义样式和输出文件一起使用
dircat --style tree --tree-only -o tree.txt

📄 许可证

本项目根据 MIT 许可证授权。详情请参阅 LICENSE 文件。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dircat-0.3.1.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dircat-0.3.1-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file dircat-0.3.1.tar.gz.

File metadata

  • Download URL: dircat-0.3.1.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for dircat-0.3.1.tar.gz
Algorithm Hash digest
SHA256 2b7db31b823ad9dcf5383bfe1666d0b801214da6139827c6c461bb425eb3735a
MD5 8f2625c9744e09c5a4bbe1f0de085273
BLAKE2b-256 5f7823ffd6f349627fb0bbc21ad2658a59d745e4c9438f77bace99f28047ec9d

See more details on using hashes here.

File details

Details for the file dircat-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: dircat-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for dircat-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dbaee8d19dd97df9fde8bf28d75288a56b5aa8cbb1a99d6815baede30fec837e
MD5 414b81f931edb6d0c7e97e6dbc1ac405
BLAKE2b-256 07067131418c1bd349eb834ddf78e04e96aeef0dd6a1afbb73dd2d5035e059a7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page