Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当文件包含来自不同目录的模块时,如何运行python脚本?_Python_Python Import_Importerror - Fatal编程技术网

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

当文件包含来自不同目录的模块时,如何运行python脚本?,python,python-import,importerror,Python,Python Import,Importerror,我的结构如下: |-- 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
|-- 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”的模块


我希望能够通过运行master.py以及单独运行record_audio2.py来运行一切。现在只有record_audio2.py成功运行。

首先,要使Python将目录视为模块,目录中必须有一个
\uuuuuu init\uuuuuuuuu.py
文件

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

  • 当前目录或执行文件的目录
  • 你的
    PYTHONPATH
  • python实例的安装文件夹
  • 更多关于这个

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

    尝试以下操作:

    import ..configs.config import filename
    

    我从..configs.config导入文件名ValueError获得以下错误:尝试在顶级包之外进行相对导入来自..configs.config导入*