Python:外部模块

时间:2016-03-16 16:04:59

标签: python python-import

更新:我刚刚意识到在我的Python 3.4中,win32com软件包缺少哪个comport引用。 之前的模块用于Python 2.7环境。

我尝试从模块中调用方法并遇到以下问题:

import sys, serial
from external_source import  comport

class Controllerboard:
    def __init__(self):
        self.DUT_COMPORT = None

    def find_Comport(self):            
        comports = comport.scan_ports()
   .
   .
   .

在另一个模块中,我打电话:

CBoard = Controllerboard()
CBoard.find_Comport()

执行我得到的脚本:UnboundLocalError: local variable 'comport' referenced before assignment

如果我在comports = ...之前放置comport = None, 我得到:AttributeError: 'NoneType' object has no attribute 'scan_ports'

我做错了什么?

2 个答案:

答案 0 :(得分:0)

如果它与您的脚本位于同一文件夹中,请尝试通过以下方式导入模块: 来自。 import comport

答案 1 :(得分:0)

您的函数find_Comport()执行扫描,然后对结果不执行任何操作。它们仍然在此函数的范围内,并在完成后被丢弃。您甚至不能将它们保存为self的属性。

您要么将它们保存在任何地方,要么在函数末尾返回找到的值。然后在主脚本调用

comports = CBoard.find_Comport()

因此可以在此新变量中访问返回的输出。