#python-3.x #pycharm #pylint
#python-3.x #pycharm #pylint
Вопрос:
test.py
from optparse import OptionParser
class Test(object):
def __init__(self):
pass
def _test1(self, some_val):
print(some_val)
def main(self, some_val):
self._test1(some_val)
if __name__ == "__main__":
parser = OptionParser()
parser.add_option("-a", "--abcd", dest="abcd", default=None,help="some_val")
(options, args) = parser.parse_args()
val = options.abcd
mainobj = Test()
mainobj.main(val)
Приведенный выше скрипт работает при выполнении python test.py --abcd=wxyz
Когда я запускаю python -m pylint test.py --abcd=wxyz
, не выполняется.
Ошибка:
strong text Usage: __main__.py [options]
__main__.py: error: no such option: --abcd
Как выполнить через pylint?
Не могли бы вы мне помочь, пожалуйста?
Комментарии:
1. Я не понимаю, почему вы хотели бы это сделать. Я не думаю, что есть смысл делать такую вещь. pylint не заботится об этих аргументах. Вызов
python -m pylint test.py
— это, вероятно, то, что вы хотите сделать.
Ответ №1:
Вы не можете отправлять новые аргументы, подобные этому, используя Pylint
Pylint — это инструмент статического анализа кода. Это НЕ запускает вашу программу. Поэтому не имеет значения, какие аргументы отправляются в основную программу, которую вы хотите протестировать. Представьте, что он проверяет ваш код как «текст», не запуская его. Также синтаксис, который вы используете в командной строке, неправильный, потому что после -m pylint
отправляемые аргументы на самом деле являются аргументами Pylint. У Pylint есть собственный набор опций и правил, которые вы можете установить. вы можете просмотреть сводку здесь или просто ввести в командной строке это:
pylint --help
Получаемое сообщение об ошибке является ошибкой Pylint. если вы хотите изменить параметры, которые вы вставляете в Pylint, вам, я полагаю, придется изменить его исходный код…
Надеюсь, я правильно понял ваш вопрос и что это помогает.