Python Flake8-如何通过列出每个文件从项目中排除所有文件?

Python Flake8-如何通过列出每个文件从项目中排除所有文件?,python,lint,flake8,Python,Lint,Flake8,我正在传统Python代码库上设置flake8。我的想法是以类似以下的形式明确列出所有.py文件的名称: [flake8] files_to_ignore = foo.py, bar.py, spam.py 然后,在项目上运行flake8时,它将通过,因为没有要运行的文件。然后我们修复一个文件并将其从列表中排除,这意味着它将由linter检查。然后对每个现有文件重复该过程 但是,我看不到任何方法可以通过在读取文档时明确列出所有文件来排除它们。存在-exclude=但这将忽略所有文

我正在传统Python代码库上设置flake8。我的想法是以类似以下的形式明确列出所有.py文件的名称:

[flake8]
files_to_ignore = 
  foo.py,
  bar.py,
  spam.py
然后,在项目上运行flake8时,它将通过,因为没有要运行的文件。然后我们修复一个文件并将其从列表中排除,这意味着它将由linter检查。然后对每个现有文件重复该过程

但是,我看不到任何方法可以通过在读取文档时明确列出所有文件来排除它们。存在-exclude=但这将忽略所有文件我将无法按名称筛选文件

我发现在空行上添加一行flake8:noqa可以忽略整个文件。这是我实现我想要的唯一选择吗

存在-exclude=但这将忽略所有文件我将无法按名称筛选文件

单个文件名是一种模式,一种仅与单个文件名匹配的模式。exclude的默认值是.svn、CVS、.bzr、.hg、.git、_pycache、.tox,这是一个文本文件名和目录名序列

只要将您的文件名列为排除的模式,当您从列表中删除单个名称时,它们将被检查

flake8首先测试基本文件名no path,然后针对每个模式测试绝对路径。如果文件名不唯一,则在文件树中的多个位置显示,然后使用相对项目路径前缀*/;所以在下面的树中

计划/ ├── 酒吧 │   ├── __初始值 │   └── 示例.py ├── 示例.py └── 福 ├── __初始值 └── 示例.py 模式*/project/example.py、*/project/foo/example.py和*/project/bar/example.py与3个单独的example.py文件完全匹配

存在-exclude=但这将忽略所有文件我将无法按名称筛选文件

单个文件名是一种模式,一种仅与单个文件名匹配的模式。exclude的默认值是.svn、CVS、.bzr、.hg、.git、_pycache、.tox,这是一个文本文件名和目录名序列

只要将您的文件名列为排除的模式,当您从列表中删除单个名称时,它们将被检查

flake8首先测试基本文件名no path,然后针对每个模式测试绝对路径。如果文件名不唯一,则在文件树中的多个位置显示,然后使用相对项目路径前缀*/;所以在下面的树中

计划/ ├── 酒吧 │   ├── __初始值 │   └── 示例.py ├── 示例.py └── 福 ├── __初始值 └── 示例.py
模式*/project/example.py、*/project/foo/example.py和*/project/bar/example.py与3个单独的example.py文件完全匹配。

谢谢,我已经尝试过了。我已经用文件名指定了文件文件夹的路径,但由于它是一种模式,因此存储在不同子文件夹中的同名文件将使此策略无法使用-它们将被完全忽略。@AlexTereshenkov:仅当模式与文件名匹配时才如此。包括一个目录和斜杠在这里会有帮助。谢谢,不幸的是,如果这两个文件的名称相同,但位于不同的目录中,则会忽略这两个文件。我使用了目录/文件名结构,但它不起作用。你能让它在一个简单的两个文件夹中工作吗?其中一个文件夹的名称相同,另一个文件夹的名称相同。@AlexTereshenkov:我添加了一个示例。@Marijn,谢谢你的示例。我必须使用[flake8]exclude=project/example.py、project/foo/example.py、project/bar/example.py来分别过滤它们。因此,*/project/foo/example.py不起作用,但是project/foo/example.py-在Windows机器上看起来需要没有星号的路径。谢谢你的帮助!谢谢,我试过了。我已经用文件名指定了文件文件夹的路径,但由于它是一种模式,因此存储在不同子文件夹中的同名文件将使此策略无法使用-它们将被完全忽略。@AlexTereshenkov:仅当模式与文件名匹配时才如此。包括一个目录和斜杠在这里会有帮助。谢谢,不幸的是,如果这两个文件的名称相同,但位于不同的目录中,则会忽略这两个文件。我使用了目录/文件名结构,但它不起作用。你能让它在一个简单的两个文件夹中工作吗?其中一个文件夹的名称相同,另一个文件夹的名称相同。@AlexTereshenkov:我添加了一个示例。@Marijn,谢谢你的示例。我必须使用[flake8]exclude=project/example.py、project/foo/example.py、project/bar/example.py来分别过滤它们。因此,*/project/foo/example.py不起作用,但是project/foo/example.py-在Windows机器上看起来需要没有星号的路径。谢谢你的帮助!