#python #subprocess #pylint
Вопрос:
При использовании subprocess.run
рекомендуется использовать check = True
(https://pycodequ.al/docs/pylint-messages/w1510-subprocess-run-check.html). Однако может быть подпроцесс, который я хочу запустить, где ожидается ненулевой код выхода, и мне интересно, существует ли подход, который удовлетворит как pylint, так и мой код.
Например:
subprocess.run('ls | grep sdfjosidjf', shell = True, check = True)
Будет (скорее всего) повышать:
CalledProcessError: Command 'ls | grep sdfjosidjf' returned non-zero exit status 1.
Что, если это именно то, чего я ожидаю или даже хочу?
Я мог бы удалить check = True
и просто отключить pylint для этой строки, мне интересно, есть ли более общий подход, чем check = True
, хотя, возможно, я ожидаю либо 0
того, либо другого, либо 1
в качестве кодов выхода.
Комментарии:
1. Вы можете добавить
|| true
команду в конец, чтобы она всегда возвращала нулевое состояние. Но я бы просто отключил проверку на ворс.