问:如何存储/保存Pylint执行的结果?

时间:2019-02-21 12:32:38

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

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

pylint name_of_file.py

如果要执行整个目录,则需要在上述目录中创建一个名为__init__.py的python文件,然后执行以下命令:

pylint name_of_the_directory

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

enter image description here

上述任何执行的输出将是这样的:

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行为

1 个答案:

答案 0 :(得分: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

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