You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中压缩目录并高效排除隐藏文件?

压缩静态站点目录时排除隐藏文件的高效方法

使用 tar 命令(Linux/macOS 通用)

tar 是类 Unix 系统下最常用的压缩工具,通过参数就能轻松排除不需要的隐藏文件/目录:

排除所有隐藏内容

如果要一次性排除所有以 . 开头的文件和目录,用 --exclude='.*' 参数:

tar -czf site.tar.gz --exclude='.*' /path/to/your/site

要是有需要保留的隐藏文件(比如 .htaccess),可以追加 --include 参数单独指定:

tar -czf site.tar.gz --exclude='.*' --include='.htaccess' /path/to/your/site

精准排除指定隐藏项

如果只需要排除 .git、.github 这类体积大的特定目录,直接列出排除项即可:

tar -czf site.tar.gz --exclude='.git' --exclude='.github' --exclude='.gitignore' /path/to/your/site

使用 zip 命令(跨平台)

zip 命令通过 -x 参数实现排除,适合 Windows、macOS 等多平台场景:

排除所有隐藏内容

zip -r site.zip /path/to/your/site -x '.*'

精准排除指定隐藏项

注意 zip 需要给目录加上 /* 来匹配内部所有内容,避免只排除目录本身但漏掉文件:

zip -r site.zip /path/to/your/site -x '.git/*' '.github/*' '.gitignore'

利用 .gitignore 批量排除(推荐)

如果你的项目已经有 .gitignore 文件,直接复用里面的规则能省不少事:

针对 tar

--exclude-vcs 参数会自动排除所有版本控制目录(比如 .git、.svn),再结合 --exclude-from 读取 .gitignore 规则:

tar -czf site.tar.gz --exclude-vcs --exclude-from=.gitignore /path/to/your/site

针对 zip

先过滤掉 .gitignore 里的注释行,再把规则转为 zip 能识别的格式:

zip -r site.zip /path/to/your/site -x $(cat .gitignore | grep -v '^#' | tr '\n' ' ')

内容的提问来源于stack exchange,提问作者conner.xyz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:00:09