1

エラーをチェックするためにpylintを使用しています。ディレクトリ内の私のpythonコードとそのディレクトリには、他の多くのサブフォルダーとファイルが含まれています。.py で終わるすべてのフォルダー ファイルを再帰的にチェックしています。正常に動作しています。

私の問題は、メイン ディレクトリでスクリプトを実行すると、最初の python ファイルだけが適切なレポートを取得することです。2番目と4番目はまったく機能しません。ピリント

    ************* 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 ファイル) のファイル レポートを正しく取得する方法。これはこれを行う正しい方法ですか?. 前もって感謝します。

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 に答える