python - 导入python包时跳过目录级别

标签 python python-2.7

我的目录结构如下:

Folder_in_PYTHONPATH/
├── Package1
│   ├── __init__.py
│   ├── src
│   │   ├── Class1.py
│   │   ├── Class2.py
│   │   └── __init__.py
│   └── test
│       └── testfile.py
├── Package2
│   ├── __init__.py
│   ├── src
│   │   ├── Class1.py
│   │   ├── Class2.py
│   │   └── __init__.py
│   └── test
│       ├── test1.py
│       └── test2.py
.
.
.

当我从这个文件夹导入东西时,我总是需要输入

import Package1.src.Class1

有什么方法可以设置我的 __init__.py 以便我可以直接输入

import Package1.Class1

代替?

最佳答案

将它们添加到您的包的 __init__.py 文件中,使它们看起来像:

from src import Class1
from src import Class2

看看the docs

我建议将 *.py 文件放在其包的顶级文件夹中,以获得您所追求的 import Package_1.Class1 行为。单元测试可以保留在它们自己的文件夹中以将它们分开。

关于python - 导入python包时跳过目录级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32460281/

相关文章:

python - 如何找到csv文件列的平均值

linux - Python,多线程,套接字有时无法创建

python - 如何从动态表中检索数据 - selenium python

python - Flask - 获取上传文件的名称减去文件扩展名

Python:为什么 setuptools 不包含我的包数据?

python-2.7 - 使用factory_boy和randint时生成重复值的问题

python - 在 python 中关闭套接字

python2.7.12 不包含 numpy 也不包含 pip 所以我无法在 gromacs 中运行我的程序

python - 根据python中其他列表的值获取最大子列表

python - 如何使用python保留YAML文件中键值的顺序(不是字母顺序)