web-dev-qa-db-ja.com

メンバーでない可能性があるPylintエラーを非表示にする

次のPythonフラグメントコードはPylintによって分析されます。

if type(result) is array.array:
    read = result.tobytes()

...最終行に次のエラーが表示されます。

E:401,22: Instance of 'int' has no 'tobytes' member\ 
 (but some types could not be inferred) (maybe-no-member)

result変数は外部関数から受け取ります。 Pylintが理解できるようにコードを変更(修正)するにはどうすればよいですか?または、関数の結果がint以外の型を持つ可能性があることをどのように伝えることができますか?または、その特定の行を無視するようにするにはどうすればよいですか? (私はこの質問の順序で回答を支持します)

17
Liviu

何らかの理由で、pylintが「結果」を取得しない場合は、配列タイプである可能性があります(「if」ブランチの下で確実になります)。現在のところ、それについてパイラントに伝える方法はありませんが、ある時点でそれが可能になると期待しています。したがって、現時点では、問題のあるステートメントの後またはそのすぐ上に# pylint: disable=maybe-no-memberを追加することによって、その特定の行の警告のみを無効にできます。例えば:

if type(result) is array.array:
    read = result.tobytes() # pylint: disable=maybe-no-member

または

if type(result) is array.array:
    # pylint: disable=maybe-no-member
    read = result.tobytes()
31
sthenault