有没有办法在 Nautilus 下不显示 .pyc(Python 字节码)文件?

emp*_*les 5 python python-2.7 14.10

有没有办法在 Nautilus 的目录结构下禁用它们?我的 Django 项目对它们很困惑。

Oli*_*Oli 5

对于 Django,最快的方法可能是首先停止生成它们

现在,这听起来可能是个糟糕的主意......字节码预编译是让 Python 如此快速的原因,所以它绝对是您在生产中想要的东西,但我们可以仅对运行的东西禁用字节码生成manage.py

打开它并添加sys.dont_write_bytecode = True一行。它应该是这样的:

#!/usr/bin/env python
import os
import sys

sys.dont_write_bytecode = True

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ap.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)
Run Code Online (Sandbox Code Playgroud)

警告: ap.settings特定于我的项目,而不是您的,并且文件的布局可能与您的 Django 版本不同......如果您复制整个内容,请小心!

生产使用(如通过 wsgi 服务器)应该跳过manage.py并仍然生成字节码文件,但在开发中 - 你更有可能使用./manage.py runserver- 应该保持干净。

不过,这稍微减慢速度。


哦,要清理:

# Python 2
find /path/to/project -name '*.pyc' -type f -delete

# Python 3
find /path/to/project -name '__pycache__' -exec rm -rf {} +
Run Code Online (Sandbox Code Playgroud)

请注意,这两个语句都删除文件,因此您可能需要在运行此热之前检查它们(删除-deleteor-exec ...语句)。他们只会向您显示匹配的文件。