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文件)。
以下是我的代码:- [版本:-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 个回答
1
你需要在命令行中输入pylint的完整路径,也就是:
for filename in f:
if filename.endswith(".py"):
os.system("pylint %s >> output.txt" % os.path.join(r, filename))
而且,如果你不使用有意义的变量名,这个脚本的pylint评分不会很好哦 :-)