从不同路径读取 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 安装程序预设。