我有以下项目结构
在文件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 解释器仅查看当前目录。由于您的模块位于另一个目录中,您可以看看这篇文章是否可以提供帮助。