У меня есть немного кода, использующего простую настройку сокета tcp для проверки чего-либо. Мы запускаем pylint --errors-only
в наших файлах Python, как правило, для проверки всего нашего кода.
Однако простой пример кода, приведенный в документации библиотеки сокетов python -http://docs.python.org/library/socket.html-, выведет:
************* Module SocketExample
E: 16: Instance of '_socketobject' has no 'recv' member
E: 18: Instance of '_socketobject' has no 'sendall' member
В документации показаны эти элементы, код запускается и работает.
Каталог сокетов также показывает, что они существуют.:
>>> import socket
>>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> dir(s)
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '__weakref__', '_sock', 'accept', 'bind', 'close', 'connect', 'connect_ex', 'dup', 'family', 'fileno', 'getpeername', 'getsockname', 'getsockopt', 'gettimeout', 'listen', 'makefile', 'proto', 'recv', 'recv_into', 'recvfrom', 'recvfrom_into', 'send', 'sendall', 'sendto', 'setblocking', 'setsockopt', 'settimeout', 'shutdown', 'type']
Это сводится к фрагменту:
for method in _delegate_methods:
setattr(self, method, getattr(_sock, method))
В реализации socket.py.
Можно ли заставить pylint принять этот стиль (и подтвердить его )или это единственный выбор игнорировать предупреждения «нет члена» с помощью # pylint: disable-msg=E1101
?