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

如何列出Django项目中除migrations目录外的所有Python文件

排除migrations目录的Python文件列表命令

这里有几个实用的方法来修改你的命令,实现只列出除migrations目录外的所有Python文件:

方法1:Bash globstar 排除模式(推荐给Bash用户)

首先确保你的Bash开启了globstar选项(大部分现代Bash默认已开启,如果没开先执行shopt -s globstar),然后用这个命令:

ls **/*.py !(**/migrations/**)
  • **/*.py 递归匹配所有.py文件
  • !(**/migrations/**) 是Bash的扩展模式,用来排除所有位于migrations目录下(包括子目录)的文件

方法2:用grep反向过滤(跨shell通用)

如果不想依赖Bash的特定选项,用ls结合grep的反向匹配更稳妥:

ls **/*.py | grep -v '/migrations/'
  • grep -v 表示“反向匹配”,也就是排除包含/migrations/字符串的行,这样就过滤掉了所有migrations目录下的文件路径

方法3:用find命令(最可靠的递归查找)

ls的递归模式在不同shell环境下可能有兼容性问题,用find命令是更通用且可靠的方案:

find . -name "*.py" -not -path "*/migrations/*"
  • . 指定从当前目录开始查找
  • -name "*.py" 匹配所有Python文件
  • -not -path "*/migrations/*" 排除所有路径中包含migrations的文件

根据你的shell环境选择合适的方法就好啦!

内容的提问来源于stack exchange,提问作者Euphorbium

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:30:48