首页 > 解决方案 > 问:如何存储/保存 Pylint 执行的结果?

问题描述

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

pylint name_of_file.py

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

pylint name_of_the_directory

另外,正如我上面提到的,我也使用 PyCharm。通过这个 IDE 的界面,Pylint 有一个名为 as 的按钮,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 执行的日志输出。这怎么可能发生?

万一需要:

系统信息

标签: pythonpython-3.xtestingautomated-testspylint

解决方案


在 Windows 命令行中工作,您可以将输出重定向到您需要的文件名,然后显示您刚刚编写的文件的内容。

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% 会给你一个无效的路径名。这个问题讨论了使用时间戳格式化文件名。

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

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

当然,这只会将其保存为当前命令。如果要全局保存,请参阅此问题。

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


推荐阅读