내 명령 행 응용 프로그램에서 docstring을 가져오고 싶지만 builtin help() 함수를 호출 할 때마다 Python이 대화식 모드로 전환됩니다.Python 대화 형 모드로 들어가지 않고 Docstring 가져 오기
이 아닌 객체의 문서 문자열을 얻으려면에 포커스가 있어야합니까?
파이썬 3에서>>> print str.__doc__
, 인쇄에 괄호가 필요합니다 :
>>> print(str.__doc__)
내 명령 행 응용 프로그램에서 docstring을 가져오고 싶지만 builtin help() 함수를 호출 할 때마다 Python이 대화식 모드로 전환됩니다.Python 대화 형 모드로 들어가지 않고 Docstring 가져 오기
이 아닌 객체의 문서 문자열을 얻으려면에 포커스가 있어야합니까?
파이썬 3에서>>> print str.__doc__
, 인쇄에 괄호가 필요합니다 :
>>> print(str.__doc__)
모든 문서화 문자열은 .__doc__
속성을 통해 볼 수 있습니다 클래스의 내용을 가져온 다음 반복하여 메서드 나 다른 것들을 찾습니다. 이 예는 이름 cmd
로 시작하는 방법에 대한 클래스 Task
에 보이는 자신의 문서화 문자열 가져옵니다
command_help = dict()
for key in dir(Task):
if key.startswith('cmd'):
command_help[ key ] = getattr(Task, key).__doc__
당신은 dir(
{여기에 삽입 클래스 이름} )
을 사용할 수 있습니다
.__doc__
가 최선의 선택입니다. 그러나 inspect.getdoc
을 사용하여 docstring
을 얻을 수도 있습니다. 이것을 사용하는 것의 한 가지 장점은 코드 블록으로 정렬되도록 들여 쓰여진 문서화 문자열에서 들여 쓰기를 제거한다는 것입니다.
예 :
In [21]: def foo():
....: """
....: This is the most useful docstring.
....: """
....: pass
....:
In [22]: from inspect import getdoc
In [23]: print(getdoc(foo))
This is the most useful docstring.
In [24]: print(getdoc(str))
str(object='') -> string
Return a nice string representation of the object.
If the argument is a string, the return value is the same object.