Pylint에서 파일 수준에서 "문서 문자열 누락" 경고를 비활성화하려면 어떻게 해야 합니까?
Pylint는 일부 파일에 문서 문자열이 누락되었다는 오류를 발생시킵니다.각 클래스, 메서드, 함수에 docstring을 추가하려고 하는데, 파일의 시작 부분에 docstring이 있어야 하는지 Pylint에서도 확인하는 것 같습니다.어떻게든 이것을 비활성화할 수 있습니까?
클래스, 함수 또는 메서드 내에 docstring이 누락되었음을 알려주고 싶지만 파일에 docstring이 있어야 하는 것은 필수 사항이 아닙니다.
(독자적인 소스 파일의 시작 부분에서 흔히 볼 수 있는 법률 용어가 있습니까?어떤 예가 있습니까?그런 사소한 질문을 따로 올려도 괜찮은지 모르겠습니다.)
Python 모듈에는 모듈이 수행하는 작업, 제공하는 작업, 클래스 사용 방법에 대한 예제를 설명하는 문서 문자열이 있으면 좋습니다.이는 IMO가 문서 문자열에 포함되지 않아야 하는 저작권 및 라이센스 정보를 제공하는 파일의 시작 부분에서 자주 볼 수 있는 주석과는 다릅니다(일부에서는 아예 사라져야 한다고 주장하기도 합니다. 예를 참조하십시오.소스 코드 템플릿 제거)
2한 Pylint 2.4를 구분할 수 .missing-docstring
다음 세 가지 하위 키워드를 사용합니다.
C0114
(missing-module-docstring
)C0115
(missing-class-docstring
)C0116
(missing-function-docstring
)
의 그서다음은..pylintrc
파일이 작동해야 합니다.
[MASTER]
disable=
C0114, # missing-module-docstring
이전 버전의 Pylint의 경우 docstring이 발생할 수 있는 다양한 장소에 대한 별도의 코드가 없으므로 C0111을 비활성화하는 것이 가능합니다.문제는 모듈 범위에서 이를 비활성화하면 모듈의 모든 곳에서 비활성화된다는 것입니다(즉, 누락된 함수/클래스/메소드 docstring에 대한 C 라인이 표시되지 않음).그것은 거의 틀림없이 좋지 않습니다.
그래서 저는 작은 누락된 문서 문자열을 추가하여 다음과 같은 말을 하는 것을 제안합니다.
"""
high level support for doing this and that.
"""
곧, 클래스/기능의 개별 문서 문자열에 속하지 않는 모듈의 다양한 클래스/기능을 사용하는 방법에 대한 예를 제공하는 것과 같은 유용한 내용을 찾을 수 있을 것입니다(예: 클래스/기능의 상호 작용 방법 또는 빠른 시작 가이드).
의견에서 followben이 언급했듯이, 더 나은 해결책은 사용하지 않고 사용하지 않을 규칙을 비활성화하는 것입니다.--errors-only
이 작업은 다음을 통해 수행할 수 있습니다.--disable=<msg ids>, -d <msg ids>
.
메시지 ID 목록은 여기에서 확인할 수 있습니다.질문에 언급된 특정 오류에 대해 메시지 ID는C0111
.
사용용을 사용하는 --disable=
IDE 또는 텍스트 편집기 중에서 param을 선택하면 방법을 찾아야 합니다.
Code는 Code 의이를다음추됩니다에 .settings.json
:
"python.linting.pylintArgs": ["--disable=C0111"]
이러한 경고를 사용하지 않도록 설정할 파일의 시작 부분에 다음 행을 입력합니다.
# pylint: disable=missing-module-docstring
# pylint: disable=missing-class-docstring
# pylint: disable=missing-function-docstring
@Milovan Tomassević가 위에 올린 글에 추가하고 싶을 뿐입니다.사용하기로 결정했습니다.python.linting.pylintArgs
VSCode의 글로벌 환경에서 사용하는 것보다 훨씬 편리했기 때문입니다..pylintrc
java.
예: " " " " " ID " 를 사용합니다.C0115
을 대신 했습니다.), 대신기이사용습니다했름을호▁),다니▁i.
Pylint 옵션 및 스위치에 대한 자세한 내용은 다음과 같습니다.
{
"python.linting.pylintArgs": [
"--disable=missing-class-docstring",
"--disable=missing-function-docstring"
]
}
저는 Cerin이 말했듯이 Django 프로젝트에서 Django가 새 응용 프로그램을 만들 때 자동으로 생성하는 모든 파일에 모듈 문서 문자열을 추가하는 것이 번거롭고 중복되기 때문에 답을 찾으러 왔습니다.
따라서 Pylint가 문서 문자열 유형의 차이를 지정하지 못하도록 하는 해결 방법으로 다음을 수행할 수 있습니다.
pylint */*.py --msg-template='{path}: {C}:{line:3d},{column:2d}: {msg}' | grep docstring | grep -v module
grep할 때 파일 이름을 계속 알 수 있도록 msg-template를 업데이트해야 합니다.모듈을 제외한 나머지 누락된 문서 문자열 유형을 모두 반환합니다.
그런 다음 이러한 오류를 모두 수정한 후 다음을 실행할 수 있습니다.
pylint */*.py --disable=missing-docstring
Pylint 2.4 이상을 사용하면 다양한 기능을 구분할 수 있습니다.missing-docstring
다음 세 가지 하위 키워드를 사용합니다.
C0114
(missing-module-docstring
)C0115
(missing-class-docstring
)C0116
(missing-function-docstring
)
의 그서다음은..pylintrc
파일이 작동해야 합니다.
[MASTER]
disable=
C0114, # missing-module-docstring
이 기능을 비활성화하지 않고도 수정이 비교적 쉽다고 생각합니다.
def kos_root():
"""Return the pathname of the KOS root directory."""
global _kos_root
if _kos_root: return _kos_root
모든 함수에 트리플 이중 따옴표 문자열을 추가하기만 하면 됩니다.
, 20을 하면, Pylint 2.6.0을 으로 비활성화한 사라지지 missing-module-docstring
,missing-class-docstring
그리고.missing-function-docstring
내 안에서.pylintrc
마지막으로, 다음과 같은 구성이 가능했습니다.
[MESSAGES CONTROL]
disable=missing-docstring,empty-docstring
Pylint 2.6.0은 두 검사를 모두 사용하지 않는 한 여전히 문서 문자열을 확인합니다.
아니요. 현재 Pylint에서는 문서 문자열 경고를 구별할 수 없습니다.
그러나 모든 Python 코드 검사에 대해 Flake8을 doc-string 확장자와 함께 사용하여 이 경고를 무시할 수 있습니다.
pip을 사용하여 doc-string 확장을 설치합니다(내부적으로 pydoc 스타일을 사용함).
pip install flake8_docstrings
그러면 그냥 사용할 수 있습니다.--ignore D100
스위치를 켜다예를들면,flake8 file.py --ignore D100
파일 "C:\Users\Your User\AppData\Roaming\Code\User\settings.json"을 추가합니다.python.linting.pylintArgs
아래와 같이 끝에 있는 선:
{
"team.showWelcomeMessage": false,
"python.dataScience.sendSelectionToInteractiveWindow": true,
"git.enableSmartCommit": true,
"powershell.codeFormatting.useCorrectCasing": true,
"files.autoSave": "onWindowChange",
"python.linting.pylintArgs": [
"--load-plugins=pylint_django",
"--errors-only"
],
}
이것을 무시하려는 Visual Studio Code 사용자인 경우 추가할 수 있습니다.python.linting.pylintArgs
로..vscode/settings.json
:
{
...
"python.linting.pylintArgs": [
"--disable=C0114",
"--disable=C0115",
"--disable=C0116",
],
...
}
Ctrl + Shift + P
그런 다음 > 환경설정을 입력하고 클릭합니다. 언어별 설정 구성
그런 다음 "http"를 입력합니다.코드 붙여넣기
{ "python.linting.pylintArgs": [ "--load-plugins=pylint_django", "--errors-only" ], }
VSCode(1.78.0)를 사용하고 있는데 매개 변수가 변경된 것 같습니다.
사용해야 합니다.
"pylint.args": [
"--disable=C0116",
"--disable=C0111",
"--disable=C0114"
]
settings.json 파일로 이동하여 Python을 비활성화합니다.pydocstyle
:
"python.linting.pydocstyleEnabled": false
언급URL : https://stackoverflow.com/questions/7877522/how-do-i-disable-missing-docstring-warnings-at-a-file-level-in-pylint
'programing' 카테고리의 다른 글
sql plus에서 함수 실행 (0) | 2023.07.07 |
---|---|
목록을 집합으로 변환하면 요소 순서가 변경됩니다. (0) | 2023.07.07 |
EPLUS로 생성된 Excel 파일의 읽을 수 없는 콘텐츠 (0) | 2023.07.02 |
UITableView 스크롤 시 키보드 숨기기 (0) | 2023.07.02 |
업데이트에서 레코드에 순차적으로 번호 매기기 (0) | 2023.07.02 |