1

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

我的问题是当我在主目录中运行脚本时,只有第一个 python 文件得到正确的报告。第二次和第四次根本不起作用。皮林特说

    ************* 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 文件)。

以下是我的代码:- [版本:-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 个文件)文件报告,而在第一个文件报告后不存在。这是正确的方法吗?. 提前致谢。

4

1 回答 1

1

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

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

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

于 2013-02-13T09:07:50.553 回答