如何在 python 中直接使用文件夹内的模块?

How to use a module inside a folder directly in python?

目录结构:

| Packages
    | noobpy
        | __init__.py
        | linalg.py
    | main.py

linalg.py:

def inv():
    print("inv called")

main.py :

import noobpy as np
np.linalg.inv()

为什么 np.linalg.inv() 在以下代码时不起作用:

from noobpy import linalg
linalg.inv()

正在工作

当您使用 import 时,它需要一个包或模块,而关键字 from 需要一个模块、子包、class 或一个函数。一种简单的修复方法是在你的目录 noobpy 中添加 __init__.py 文件,在 __init__.py 中你应该添加 import noobpy.linalg

完成此操作后,您可以使用

import noobpy as np
np.linalg.inv()

在你的主文件中。

请注意,__init__.py 生成一个目录包并像构造函数一样运行,并执行此构造函数中定义的先决条件以使导入工作。