从不同路径读取 Python 模块
Reading Python Module from different PATH
我有这样的目录布局:
Pytest\
__init__.py
connect.py
sql.py
test.py
我想要做的是 Pytest 目录位于我的 python 环境路径中,这样我就可以导入所有模块,即 connect.py、sql.py 或 test.py 此目录之外的任何位置,甚至是交互式 shell.
这是我的 __init__.py
:
from .connect import *
from .sql import *
from .test import *
为此,我认为我的父目录应该在 python 路径中。问题是我应该怎么做?
要从 python 脚本中设置 Python 路径,您可以使用 sys.path.append()
方法,此方法将目录作为字符串,您需要将其添加到 python路径。
例子-
import sys
sys.path.append(dir)
其中 dir
是您要添加到路径的目录,此后 dir 文件中的任何文件都可以毫无问题地导入。
要设置 python 直接通过终端或其他方式从不同目录获取 python 文件,您需要设置 PYTHONPATH
变量,而不是 PATH
变量(PATH
变量被系统用来查找可执行文件,Python 不使用它来查找 modules/python 文件)。
PYTHONPATH - 该变量告诉 Python 解释器将模块文件导入程序的位置。它应该包括 Python 源库目录和包含 Python 源代码的目录。 PYTHONPATH 有时由 Python 安装程序预设。
我有这样的目录布局:
Pytest\
__init__.py
connect.py
sql.py
test.py
我想要做的是 Pytest 目录位于我的 python 环境路径中,这样我就可以导入所有模块,即 connect.py、sql.py 或 test.py 此目录之外的任何位置,甚至是交互式 shell.
这是我的 __init__.py
:
from .connect import *
from .sql import *
from .test import *
为此,我认为我的父目录应该在 python 路径中。问题是我应该怎么做?
要从 python 脚本中设置 Python 路径,您可以使用 sys.path.append()
方法,此方法将目录作为字符串,您需要将其添加到 python路径。
例子-
import sys
sys.path.append(dir)
其中 dir
是您要添加到路径的目录,此后 dir 文件中的任何文件都可以毫无问题地导入。
要设置 python 直接通过终端或其他方式从不同目录获取 python 文件,您需要设置 PYTHONPATH
变量,而不是 PATH
变量(PATH
变量被系统用来查找可执行文件,Python 不使用它来查找 modules/python 文件)。
PYTHONPATH - 该变量告诉 Python 解释器将模块文件导入程序的位置。它应该包括 Python 源库目录和包含 Python 源代码的目录。 PYTHONPATH 有时由 Python 安装程序预设。