纯Python跨平台pyclean。清理你的Python字节码。
项目描述
pyclean 
担心 .pyc 文件和 __pycache__ 目录?别担心!PyClean 就在这里帮您。终于有了对您喜欢的目录中 Python 字节码文件的单命令清理。在任何平台上。
在 PyConX 上展示,2019 年佛罗伦萨。
等等!字节码是什么?
字节码是 Python 虚拟机 的操作码。 - 感到困惑?
如果您想深入了解这个话题,请观看 Larry Hastings 2013 年 EuroPython 的演讲 “所有歌唱,所有跳舞的 Python 字节码”。否则,James Bennett 的 “Python 字节码简介” 应该能为您提供对其含义的充分理解。
为什么不简单地使用 rm **/*.pyc 或 find -name '*.py?' -delete?
如果您对 rm 或 find 满意,那就去使用它们吧!当我正在寻找一个简单、简洁的解决方案供每个人使用时,我发现人们都在挣扎,简单的事情比它们最初看起来要复杂得多。
此外,Debian 上有 pyclean 命令(及其同类)。而且,正如你所知,只有 Debian 上才有。我不是微软 Windows 的忠实粉丝,但为什么忽略这个星球上最大的 Python 群体呢?(好像他们使用这个不自由的软件已经受够了一样!)
Debian
仅供参考,Debian 随 python-minimal 和 python3-minimal 软件包提供的 Python 脚本可以在这里找到:
pypyclean: salsa.debian.org/debian/pypy
安装
$ pip install pyclean
或
$ python -m pip install pyclean
用法
$ pyclean --help
或
$ python -m pyclean --help
清理当前目录树中的所有字节码,并详细说明
$ pyclean -v .
清理碎片
PyClean 可以清理来自流行的 Python 开发工具(在其默认位置)的遗留物、生成数据和临时文件,包括 Python 字节码。以下主题目前被涵盖:
缓存(多个工具的通用文件夹,例如 Python 蛋、旧 Pytest)
覆盖率(覆盖率数据库和支持的文件格式)
打包(构建文件和文件夹)
Pytest(构建文件和文件夹)
Ruff(ruff 缓存文件夹)
Jupyter(笔记本检查点) – 可选
Mypy(mypy 缓存文件夹) – 可选
Tox(tox 环境) – 可选
示例: 在详细模式下对字节码和工具碎片进行清理测试(查看将要删除的内容)
$ pyclean . --debris --verbose --dry-run
删除任意文件系统对象
PyClean 还允许您使用通配符删除任意目标。请注意,这 可能很危险:您可以删除文件系统中的任何地方的所有内容,包括您正在工作的整个项目。因此,--erase 选项有一些人工约束。
它不会自动进行递归删除,这意味着您必须分别和明确地指定目录及其内容。
以上内容表明,您负责删除顺序,即只有当您请求首先删除当前目录内的所有文件时,删除目录才会生效。
除非您指定了--yes选项,否则系统会交互式地提示您确认删除。
$ pyclean . --erase tmp/**/* tmp/
上述操作将删除当前文件夹内所有子目录的整个tmp/目录。如果您省略了最后的tmp/,您将保留空白的tmp目录。(警告!不要在--erase选项后放置.!显然,您的项目文件将被全部删除。)
使用pyclean与Tox
如果您想避免安装pyclean,可以按照以下方式将其添加到您的tox.ini文件中
[testenv:clean]
skip_install = true
deps = pyclean
commands = pyclean {posargs:. --debris}
然后您可以使用Tox像这样运行它
$ tox -e clean
开发
如果您想帮忙,请参阅我们的贡献指南。
项目详情
下载文件
下载您平台上的文件。如果您不确定该选择哪一个,请了解更多关于安装包的信息。