当文件包含来自不同目录的模块时,如何 运行 python 脚本?

How to run a python script when a file contains a module from different directory?

我有以下结构:

|-- master.py
|-- src
| |-- configs
| | |-- _init_.py
| | |-- config.py
|-- convert_speech
| |-- _init_.py
| |-- record_audio2.py

现在我想将模块从 configs.config 导入到 record_audio2.py 脚本中。我设法做到了这一点:

from src.configs.config import filenames

然而,当我 运行 master.py 我得到以下错误:

ModuleNotFoundError: 没有名为 'src'

的模块

我希望能够通过 运行ning master.py 以及 运行ning record_audio2.py 分别 运行 一切。目前只有 record_audio2.py 运行 次成功。

首先,要使 Python 将目录视为模块,它们必须有一个 __init__.py 文件。

现在,当 Python 处理模块的导入时,它使用 sys.path 这是查找文件的位置列表。默认情况下,它由以下组成:

  1. 当前目录或执行文件所在目录
  2. 你的PYTHONPATH
  3. 您的 python 实例的安装文件夹

更多关于 here in the doc

我建议您将 src 文件夹的路径添加到 sys.path,它应该是这样的。

试试这个:

import ..configs.config import filename