Python通过不同的模块访问相同的接口

2024-04-23 12:02:26 发布

您现在位置:Python中文网/ 问答频道 /正文

作为一个缺乏Python经验的用户,我想向更有经验的用户询问最佳方法

我想创建一系列具有相同接口的模块

  • GetDataDescription(文件)
  • GetData(文件)

每个模块接收一个文本文件,并以某种简单的方式对其进行处理。它将返回对提取的数据和数据本身的描述(e、 g.“字母e计数”,73或“数字字符”,760等)

我这样构造它,通过添加操作简单但接口相同的模块使其可扩展

因此,我想从主代码中导入一个模块,并在此模块上执行必要的操作(即GetDataDescription和GetData)。然后,我可以创建一个已导入的模块名称列表,并在这些模块中输入流程数据

我的做法是:

import countLetters

moduleList = ['countLetters']

m = __import__ (moduleList[0])
func = getattr(m,'countLetters')(logFile)
description = func.GetDataDescription()
print("Data Description: ", description)

但是,这会导致名称错误:未定义名称“description”

我应该采取一种不同的、更具Python风格的方法,还是继续调试

如果是调试,那么上面的代码有什么问题

谢谢


Tags: 模块文件数据方法代码用户import名称