2011-10-21 3 views
4

파일 이름 만 가지고 있으면 파이썬 파일의 문서 문자열을 가져 오는 방법이 있습니까? 예를 들어 a.py라는 파이썬 파일이 있습니다. 나는 그것이 (이전에 위임되고있는) doc 문자열을 가지고 있지만 그것의 내부 구조를 알지 못한다는 것을 알고있다. 즉 클래스 나 메인을 가지고 있다면?파이썬 파일의 문서 문자열 얻기

 filename.__doc__ #it does not work 

답변

3
: 나는 내가 그것을 가져

 filename = 'a.py' 
    foo = __import__(filename) 
    filedescription = inspect.getdoc(foo.main()) 

를 사용하는이 방법을 할 수있는 주요 기능 난 그냥 이런 식으로 할 수있다 알고 있다면 나는 꽤 분명 뭔가 을 잊으 신 건 아니 희망

당신은 ...

foo = __import__('a') 
mydocstring = foo.__doc__ 

또는 아직 간단한 ... 일을해야

import a 
mydocstring = a.__doc__ 
,
+1

아는 가져 오기, 그렇지 않으면 작동 그냥 따라서 문자열로 취급되고 doc__를 .__ 따라서 그것을 객체를 만들고 사용 있어요 실패합니다. –

0

그리고 당신은 모듈의 문서화 문자열이 필요한 경우는 이미 :

import sys 
sys.modules[__name__].__doc__ 
1
import ast 

filepath = "/tmp/test.py" 

file_contents = "" 
with open(filepath) as fd: 
    file_contents = fd.read() 
module = ast.parse(file_contents) 
docstring = ast.get_docstring(module) 
if docstring is None: 
    docstring = "" 

print(docstring)