当前位置: 首页 > 工具软件 > _.m > 使用案例 >

解决No module named '__main__.models'; '__main__' is not a package问题

翟俊哲
2023-12-01

在导入自己写的py文件时报错No module named ‘main.models’; ‘main’ is not a package
例如,自己写的一个slicer.py文件,里面有两个函数getmax和binarization。内容如下:

import cv2
import numpy as np


def getmax(m):
    matrix = np.array(m)
    if len(matrix.shape) == 1:
        return int(max(m))
    elif len(matrix.shape) == 2:
        max_list = []
        a = len(matrix)
        for a_index in range(a):
            te = max(matrix[a_index, :])
            max_list.append(te)
        return max_list
    elif len(matrix.shape) > 2:
        raise Exception('矩阵维度不超过2')


def binarization(m):
    ret, thresh = cv2.threshold(m, 0, 1, cv2.THRESH_BINARY)
    return thresh

尝试在另外一个文件test.py里用下面的方式调用slicer.py里的函数时没有报错,函数正常运行。当然slicer.py与test.py要在同一目录下

from slicer import getmax, binarization
a=getmax(m)
b=binarization(m)
 类似资料: