如何在python中导入模块

问题描述 投票:0回答:1

我有以下项目结构

在文件task_functions.py中,我想导入utility_functions.py中定义的函数,这就是我在文件中的内容

task_functions.py

from utility.utility_functions import utility_func

def task_function() -> bool:
    print(r'I\'m calling utility function now')
    utility_func()

utility_functions.py

def utility_func() -> bool:
    print('This is my utility function')

当我有以下 launch.json 时,我能够在调试模式下运行它。

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
    {
        "name": "Python: Current File",
        "type": "python",
        "env": {"PYTHONPATH": "${workspaceRoot}"},
        "request": "launch",
        "program": "${file}",
        "console": "integratedTerminal",
        "justMyCode": true
    }
]

}

但是,如果我在 vscode 中以“运行”模式运行文件 task_function.py,它总是会抛出异常“ModuleNotFoundError:没有名为“实用程序”的模块”。我尝试在运行脚本时打印出目录,它指向根目录,即“DIRECTORY_IMPORT”。我还尝试使用 os.chdir(..) 更改当前目录以向上移动一个目录或其他目录,但它仍然不起作用。我想我在这里误解了一些基本的东西。正确的导入方式应该是什么?谢谢!

python python-3.x import python-import importerror
1个回答
0
投票

我认为您可能使用了不正确的方式从另一个目录导入模块。您收到该错误是因为 Python 解释器仅查看当前目录。由于您的模块位于另一个目录中,您可以看看这篇文章是否可以提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.