更新:我刚刚意识到在我的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'
我做错了什么?
答案 0 :(得分:0)
如果它与您的脚本位于同一文件夹中,请尝试通过以下方式导入模块: 来自。 import comport
答案 1 :(得分:0)
您的函数find_Comport()
执行扫描,然后对结果不执行任何操作。它们仍然在此函数的范围内,并在完成后被丢弃。您甚至不能将它们保存为self
的属性。
您要么将它们保存在任何地方,要么在函数末尾返回找到的值。然后在主脚本调用
comports = CBoard.find_Comport()
因此可以在此新变量中访问返回的输出。