【问题标题】:Q: How can I store/save the results of Pylint execution?问:如何存储/保存 Pylint 执行的结果?
【发布时间】:2019-07-15 08:56:05
【问题描述】:

我正在使用 Pylint,我是这个工具的新手,所以要计算我的 python 项目的质量(测试自动化)。我知道如果我想测试一个文件的质量,我必须执行以下命令(对于 Windows10):

pylint name_of_file.py

如果我想执行整个目录,我需要在上面的目录中创建一个名为__init__.py的python文件,然后执行这个命令:

pylint name_of_the_directory

另外,正如我上面提到的,我也使用 PyCharm。通过这个 IDE 的界面,Pylint 有一个名为Check Project 的按钮,它正在验证整个项目。请看一下这个界面的截图:

上述任何执行的输出将如下所示:

something.py:12:4: C0111: Missing method docstring (missing-docstring)
something.py:16:4: C0111: Missing method docstring (missing-docstring)
something.py:20:4: C0111: Missing method docstring (missing-docstring)
something.py:25:4: C0111: Missing method docstring (missing-docstring)
something.py:31:4: C0111: Missing method docstring (missing-docstring)
something.py:35:4: C0111: Missing method docstring (missing-docstring)
something.py:39:4: C0111: Missing method docstring (missing-docstring)

我需要什么:我希望每次新建后,将 Pylint 结果保存在 .txt 格式文件下的特定目录中,名称为当前时间戳,后跟当前的项目版本(存储在属性文件中)。对我来说(如果我没记错的话),这就像保留 Pylint 执行的日志输出。怎么会这样?

如果需要:

系统信息

  • Python 版本:3.7
  • 操作系统:Windows 10
  • IDE:PyCharm 版本:2018.3.4
  • 框架:BDD 行为

【问题讨论】:

  • 您是否特别关心 Check Project 按钮,或者是否有其他方法可以运行 pylint 并保存结果?
  • “检查项目”只是使用 pylint 执行整个项目验证的另一种方式。我提到它是因为可能有人知道单击此按钮后将结果保存在哪里。我尽可能多地插入信息以提供帮助。

标签: python python-3.x testing automated-tests pylint


【解决方案1】:

在Windows命令行下,你可以redirect output到你需要的文件名,然后display the contents of the file你刚刚写的。

pylint name_of_directory > <filename> 2>&1 | type <filename>

您可以使用 %DATE%%TIME% 变量的切片来获取带有时间戳的唯一文件名。

>echo %DATE%
Thu 02/21/2019
>echo %DATE:~0,1%
T
>echo %DATE:~1,2%
hu
>echo %TIME%
 7:54:17.74

您必须弄清楚您想要哪些部分并将它们切片/附加到您想要的名称中。只是试图连接 %DATE% 和 %TIME% 会给你一个无效的路径名。 This question 讨论使用时间戳格式化文件名。

一旦你有了你想要的时间戳格式,你就可以将你的文件名保存到一个变量中以便只引用一次:

set FILENAME="example.txt"; pylint <name_of_directory> > %FILENAME% 2>&1 | type %FILENAME%

当然,这只会为当前命令保存它。如果要全局保存,请参阅this question

我认为有一种方法可以让 PyC​​harm 为您运行此命令,但我无法告诉您如何执行此操作。

【讨论】:

  • set FILENAME="example.txt"; pylint bdd &gt; %FILENAME% 2&gt;&amp;1 | type %FILENAME%
  • 然后仔细检查您的命令。 %NAME% 语法是 Windows 获取变量值的方式,因此 %example.txt% 是没有意义的,不应该出现。
  • 呸,看起来您必须设置变量并在两个不同的命令中使用它。真烦人。
  • 是的,这就是我所看到的......肯定有一个解决方案。所有那些使用 pylint 的人,他们通过复制/粘贴来获取输出?没办法……:P
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-29
  • 1970-01-01
  • 2014-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多