asfdsf123 2024-07-27 08:21 采纳率: 75%
浏览 25

python调用同级目录函数调用出错

img

img


为什么python里面调用同级目录下的文件里面的函数时会出错
已经把相对path添加了 系统设置里面也添加了 但是还是显示no module

  • 写回答

2条回答 默认 最新

  • 何事_ 2024-07-27 08:40
    关注

    引自免费微信小程序:皆我百晓生

    你的问题主要是Python中导入模块的问题。你正在尝试从同级目录中的另一个文件导入函数,但是遇到了ModuleNotFoundError。以下是一些可能的解决方案:

    解决方案一:使用相对导入 在你的情况下,你似乎正在尝试从file3导入file1中的函数。你需要确保你的文件结构是层次化的,这样你才能使用相对导入。如果你的目录结构是这样的:

    father/
        file1.py
        file3.py
    

    你可以这样导入函数:

    file3.py 中,你需要使用相对导入来导入 file1 中的 greet 函数,代码如下:

    from .file1 import greet
    

    请注意,"." 表示当前目录。这意味着Python将在当前目录(也就是父目录)中查找 file1 模块。你需要确保你的编辑器或IDE设置正确,以便它知道你的工作目录在哪里。如果你的目录结构不同,你可能需要调整路径以适应你的实际情况。

    解决方案二:使用绝对导入 如果你知道你的模块的确切路径,你也可以使用绝对导入。例如,如果你的 file1 模块位于 C:\Users\Angela\Desktop\pytest\father\ 目录下,你可以这样导入函数:

    file3.py 中:

    from father.file1 import greet
    

    请注意,在这种情况下,你需要确保你的PYTHONPATH环境变量设置正确,以便Python可以在正确的目录中查找模块。如果设置不正确,即使使用绝对路径导入也可能会遇到问题。因此你需要检查你的环境变量设置是否正确。

    另外,关于你在编辑器或IDE中的设置问题(如Python分析:额外路径等),这些通常与你的编辑器或IDE如何理解你的项目结构有关。你需要根据你的IDE或编辑器的文档来设置这些选项。在某些情况下,你可能需要手动指定额外的导入搜索路径,以便IDE或编辑器知道在哪里查找你的模块和包。你可能需要查看你的IDE或编辑器的文档来了解如何设置这些选项。如果你使用的是VS Code,你可能需要查看Python插件的设置或者查看.vscode/settings.json文件来了解如何配置这些选项。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月27日