从子文件夹而不是同一目录导入模块?

时间:2021-02-22 09:02:57

标签: python python-3.x import python-module

所以我有以下文件结构(win10)

project/
        mycode.py
        lib/
           bunch of python modules
           paramiko/
                    all of paramiko's files

这里,所有模块都在一个子文件夹中,当我说 import paramiko 在 mycode.py 中,它找不到 paramiko。但是,当我将它们全部移出 lib 目录时,它工作正常。

工作解决方案:

project/
        mycode.py
        bunch of python modules
        paramiko/
                 all of paramiko's files

但它很丑,我宁愿把它们都放在一个 lib 目录中。如何访问子目录中的模块?

编辑:好的,想通了。我用过。添加到路径:

projectPath = os.path.dirname(os.path.abspath(__file__))
sys.path.append(projectPath+"\\lib")

我之前尝试过,除了这次,在对路径进行编辑之后,我将导入 paramiko 移到了。天啊,我有时觉得自己很傻

1 个答案:

答案 0 :(得分:0)

您也可以在不将其添加到路径的情况下执行此操作:

from lib import paramiko

import lib.paramiko

只要你有这样的目录结构

project/
        mycode.py
        lib/
           bunch of python modules
           paramiko/
                    all of paramiko's files