使用pep8扫描完整目录树

13 投票
1 回答
10881 浏览
提问于 2025-04-17 22:57

我正在使用pep8来检查代码规范。目前我只能检查当前目录的内容,而不能检查里面的所有子目录。请问怎么才能做到这一点呢?

当我在容器或项目的根目录运行时,无法看到pyc文件的错误。但是当我在容器/项目/app目录下运行时,就能看到pyc文件的错误。下面是文件的树状结构:

container
      project
            app
                  __init__.py
                  admin.py
                  models.py
                  views.py
                  tests.py
                  file1.py

            project
                  __init__.py
                  urls.py
                  wsgi.py
                  settings.py

            templates
                  __init__.py
                  home.html
                  page1.html

            manage.py
            pylintrc
            setup.cfg

      README

以下是setup.cfg的内容:

[pep8]
ignore=E122,E123,E128
exclude=pylintrc,setup.cfg
max-line-length=80

1 个回答

27

pep8 命令会自动扫描子目录。它会查找与 --filename 选项中指定的模式匹配的文件(默认是 *.py,也就是所有的 Python 文件)。

你可以用 pep8 .pep8 目录名 来扫描你的项目。

如果你在一个目录下运行 pep8 *,那么你的命令行会把 * 替换成当前目录下的 所有文件,这样 pep8 就会扫描这些文件,即使它们不符合 --filename 的文件模式。这可能会包括像 setup.cfg 这样的文件,而这些文件通常是不需要扫描的。

当前目录下的任何子目录也会被扫描(因为使用 * 通配符时,命令行会列出所有的文件名),但 pep8 只会再次查找与 --filename 选项匹配的文件。

撰写回答