导入python包时跳过目录的级别
我的目录结构如下:导入python包时跳过目录的级别,python,python-2.7,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 │
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
有没有办法设置我的\uuuu init\uuuu.py
,这样我就可以键入
import Package1.Class1
相反?将它们添加到您的包的
\uuuu init\uuuu.py
文件中,使它们看起来像:
from src import Class1
from src import Class2
看看
我建议将*.py文件放在其包的顶层文件夹中,以获得所需的
import-package_1.Class1
行为。单元测试可以保存在它们自己的文件夹中以将它们分开。这允许我使用来自Package1 import Class1的,但不允许我导入Package1。Class1
有什么原因不能将类*
文件放在顶层吗?没有其他原因,因为有很多包,这将需要大量的工作目录,区分类和单元测试似乎有组织意义。您可以将单元测试保存在自己的文件夹中;可能它们不是api的一部分。好吧,我已经使用了目录重组解决方案,尽管我仍然有点好奇是否还有其他方法。如果你把它写成另一个答案,我会接受的