一个项目具有以下结构:
modulename
├── __init__.py
│
├── one
│ ├── function_1.py
│ ├── function2.py
│ └─── __init__.py
│
└── two
├── another_function.py
├── yet_another_function.py
└─── __init__.py
Each .py
(除了__init__.py
是空的)的内容如下:
def foo(x):
return x
def bar(x):
return x + 2
要使用该模块,您可以通过以下方式导入它:import modulename.one.function1.foo
。我想做的是找到所有.py
例如,倒数第二个位置的文件名function1
or another_function
.
迄今为止建议的解决方案尚未成功:
dir(modulename.one)
这导致['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
.
help(modulename.one)
其中标题下实际上包含函数文件的名称PACKAGE CONTENTS
。我如何获得列表PACKAGE CONTENTS
?
编辑:我可以(正如有人建议的那样)使用__all__
in the __init__.py
的,但我更喜欢一个简单的内置函数或模块。
我想你正在寻找的是__all__
包中的定义__init__
files.
您可以看一下:http://mikegrouchy.com/blog/2012/05/be-pythonic-__init__py.html http://mikegrouchy.com/blog/2012/05/be-pythonic-__init__py.html
这解释了__all__
包中的行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)