How to use sphinx automodule and exposed functions in __init__(如何在__init__中使用sphinx自动机模块和暴露函数)
本文介绍了如何在__init__中使用sphinx自动机模块和暴露函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的文件夹结构如下:
project/
mymodule/
__init__.py
m1.py
m2.py
sub1/
__init__.py
s1.py
s2.py
mymod/__init__.py
:
"""The __init__ docstr"""
from m1 import *
from m2 import *
mymod/m1.py
:
"""m1 doc str"""
def func1():
"""func1 docstr"""
return 1
mymod/m2.py
:
"""m2 doc str"""
def func2():
"""func2 docstr"""
return 2
mymod/sub1/__init__.py
:
"""The sub1 __init__ docstr"""
from s1 import *
from s2 import *
mymod/sub1/s1.py
:
"""s1 docstr"""
def sub1():
"""sub1 docstr"""
return 3
mymod/sub1/s2.py
:
"""s2 docstr"""
def sub2():
"""sub2 docstr"""
return 4
当我直接使用该模块时,它似乎按预期工作:
>>> import mymod
>>> from mymod import sub1
>>> mymod.func1()
1
>>> sub1.subfunc1()
3
>>> mymod.__doc__
'The __init__ docstr'
>>> mymod.func1.__doc__
'func1 docstr'
但是,当我在Shinx中使用自动模块时(在将项目文件夹添加到我的sys.path之后):
.. automodule:: mymod
:members:
.. automodule:: mymod.sub1
:members:
我得到的页面只有:
The __init__ docstr
The sub1 __init__ docstr
它似乎忽略了from m1 import *
类型语句...
但是,如果我将所有代码直接复制到我得到的每个模块/子模块的__init__
文件中:
The __init__ docstr
mymod.func1()
func1 docstr
mymod.func2()
func2 docstr
The sub1 __init__ docstr
mymod.sub1.sub1()
sub1 docstr
mymod.sub1.sub2()
sub2 docstr
是Shinxautomodule
不能使用__init__
文件中包含这些导入语句的模块,还是我遗漏了一个更明显的问题?
理想情况下,我希望得到这样的输出:将所有代码放入init(改为使用导入语句)。
推荐答案
如果您将__all__
列表添加到__init__.py
文件中,它将起作用。例如:
"""The __init__ docstr"""
__all__ = ['func1', 'func2']
from m1 import *
from m2 import *
这篇关于如何在__init__中使用sphinx自动机模块和暴露函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何在__init__中使用sphinx自动机模块和暴露函数
基础教程推荐
猜你喜欢
- 如何在Python中绘制多元函数? 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01