개발/Python

[파이썬] Pydoc으로 문서를 어떻게 만드나요?

MinorMan 2021. 4. 20. 04:33
반응형

<질문>

내 모듈에서 문서를 만들려고합니다. 나는 사용했다pydocPython 3.2.3을 사용하는 Windows 7의 명령 줄에서 :

python "\pydoc.py" -w myModule

이로 인해 내 모듈의 각 파일에 대해 한 줄씩 텍스트로 쉘이 채워집니다.

no Python documentation found for ''

마치 Pydoc이 내 파일에 대한 문서를 얻으려고하는 것 같지만 자동 생성하고 싶습니다. Google을 사용하여 좋은 튜토리얼을 찾을 수 없습니다. 누구든지 Pydoc을 사용하는 방법에 대한 팁이 있습니까?

하나의 파일에서 문서를 만들려고하면

python ... -w myModule\myFile.py

그것은 말한다wrote myFile.html, 열면 다음과 같은 한 줄의 텍스트가 있습니다.

# ../myModule/myFile.py

또한 내 컴퓨터에있는 파일 자체에 대한 링크가있어서 클릭 할 수 있으며 내 웹 브라우저에 파일 내부 내용이 표시됩니다.


<답변1>

RocketDonkey가 제안했듯이 모듈 자체에는 독 스트링이 필요합니다.

예를 들어myModule/__init__.py:

"""
The mod module
"""

또한 각 파일에 대한 문서를 생성하고 싶습니다.myModule/*.py사용

pydoc myModule.thefilename

생성 된 파일이 기본 모듈 문서 파일에서 참조되는 파일과 일치하는지 확인하십시오.


<답변2>

사람들이 유용하다고 생각할 수있는 또 다른 사항은 모듈 이름에서 ".py"를 생략해야합니다. 예를 들어, 다음에 대한 문서를 생성하려는 경우'실물'에 'original.py':

yourcode_dir $ pydoc -w original.py 'original.py'에 대한 Python 문서가 없습니다. yourcode_dir $ pydoc -w original이 original.html을 작성했습니다.


<답변3>

pydoc은 문서 생성에 환상적이지만 문서는 처음부터 작성해야합니다. RocketDonkey가 주석에서 언급 한대로 소스 코드에 독 스트링이 있어야합니다.

"""
This example module shows various types of documentation available for use
with pydoc.  To generate HTML documentation for this module issue the
command:

    pydoc -w foo

"""

class Foo(object):
    """
    Foo encapsulates a name and an age.
    """
    def __init__(self, name, age):
        """
        Construct a new 'Foo' object.

        :param name: The name of foo
        :param age: The ageof foo
        :return: returns nothing
        """
        self.name = name
        self.age = age

def bar(baz):
    """
    Prints baz to the display.
    """
    print baz

if __name__ == '__main__':
    f = Foo('John Doe', 42)
    bar("hello world")

첫 번째 독 스트링은 pydoc을 사용하여 문서를 만드는 방법을 제공합니다. 다양한 유형의 독 스트링의 예가 있으므로 pydoc로 생성했을 때 어떻게 보이는지 확인할 수 있습니다.

반응형