Pylint没有按预期工作

时间:2013-02-13 03:44:39

标签: python pylint

使用pylint检查错误。我的python代码在一个目录中,该目录包含许多其他子文件夹和文件。我以递归方式检查所有文件夹文件以.py结尾。它工作正常。

我的问题是,当我在主目录中运行脚本时,只有第一个python文件获得正确的报告。第二次和完全没有工作。 pylint说

    ************* Module test.py
    F:  1: No module named test.py
    ***************
Global evaluation
-----------------
Your code has been rated at 0.00/10 (previous run: 0.00/10)

每当我在主目录中运行我的脚本时,只有第一个文件报告是正确的。 pylint没有检查其他文件。 (我在子目录中有近50个python文件。)

以下是我的代码: - [ver:-Python 2.7.2+]

"""
Automated error handling using pylint
1. pylint --generate-rcfile > pylintrc

"""

import sys
import os 

if __name__ == '__main__' :
    if len(sys.argv) > 1:
        os.system(">output.txt")
        for r, d, f in os.walk(sys.argv[1]):
            for files in f:
                if files.endswith(".py"):
                    os.system("pylint %s >> output.txt" % files)
    else:
        os.system(">output.txt")
        for r, d, f in os.walk('.'):
            for files in f:
                if files.endswith(".py"):
                    os.system("pylint %s >> output.txt" % files)

如何正确获取所有(几乎50个文件)文件报告,在第一个文件报告后不存在。这是正确的方法吗? 。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您需要在命令行上传递完整路径到pylint,即

for filename in f:
    if filename.endswith(".py"):                       
        os.system("pylint %s >> output.txt" % os.path.join(r, filename))

除非你使用有意义的变量名,否则你不会在这个脚本上获得非常好的pylint分数: - )