以前の質問 ( 「Pylint E0202 False Positive?」 ) に続いて、別の質問があります (非常に具体的だと思います) 。
モジュール subprocess を使用して、サブプロセスを実行しています。
サンプル コードを作成すると、次のようになりました。
"Example code for E1103"
import subprocess
pipeOpen = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
(responseData, errorData) = pipeOpen.communicate()
print "Error code: '%s'. Error data: '%s'" % (pipeOpen.returncode, errorData.strip("\n").strip("\r"))
ただし、Pylint は次のように言います。
E1103: 9,67: 'list' のインスタンスに 'strip' メンバーがありません (ただし、一部の型は推論できませんでした)
pipeOpen.communicate() を見ると、_communicate に行き着きます。実際、stderr はリストに初期化されますが、self.universal_newlines が true の場合、戻る前に、リストを改行を含む文字列に変換します。
#pylint: ignore-msg=E1103
これはpylint 開発者に報告するか、より良いケースですか?