在嵌套目录PYTHONPATH中使用脚本的更好方法

2024-04-26 11:58:01 发布

您现在位置:Python中文网/ 问答频道 /正文

很抱歉第二次问我自己的问题,但我完全陷入了python的import file。你知道吗

我的目录结构如下:

|--test/foo.py
|--library  #This is my PYTHONPATH
|--|--script1.py
|--|--library_1
|--|--|--script2.py
|--|--library_2
|--|--library_3

我正在从test/foo.py访问library/library_1/script2.py。你知道吗

在这里,我对什么是更好的方法感到困惑。通常,所有库文件夹或实用程序函数都应添加到pythonpath。你知道吗

这是我维护的一个文件夹结构,用于区分实用程序函数和测试脚本。你知道吗

我尝试将__init__.py放入library和library1&;然后像from library1 import script2一样导入,但得到的错误是No module named script。你知道吗

我也尝试过将该路径附加到系统路径。你知道吗

工作:如果我添加另一个pythonpathpath/to/library/libray_1/。所以我应该对library文件夹中的所有文件夹执行此操作以使其正常工作吗?你知道吗


Tags: 函数pytestimport路径实用程序目录文件夹
1条回答
网友
1楼 · 发布于 2024-04-26 11:58:01

以下是您需要做的:

| test/foo.py
| library  #This is my PYTHONPATH
| __init__.py
| | script1.py
| | library_1
| | | __init__.py
| | | script2.py
| | library_2
| | | __init__.py
| | library_3
| | | __init__.py

在下面的第一个__init__.py库中,您需要执行以下操作:

import library1
import library2
import script 

然后,如果library是您的python路径,那么您可以在test/foo.py内执行此操作,而不会出现错误:

import library
library.library1.bar()
library.script.foo()

相关问题 更多 >